如何用PHP操作xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<note>
<to>murray.cn</to>
<from>youtianxia.net</from>
<heading>murray</heading>
<body>youtianxia</body>
</note>

加载和输出XML

初始化XML 解析器,加载XML,并把它输出:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load(”note.xml”);
print $xmlDoc->saveXML();
?>

输出效果:

murray.cn youtianxia.net murray youtianxia

假如您在浏览器窗口中查看源代码,会看到下面这些 HTML:

<?xml version=”1.0″ encoding=”UTF-8″?>
<note>
<to>murray.cn</to>
<from>youtianxia.net</from>
<heading>murray</heading>
<body>youtianxia</body>
</note>

创建了一个 DOMDocument-Object,并把 “note.xml” 中的 XML 载入这个文档对象中。

saveXML() 函数把内部 XML 文档放入一个字符串,这样我们就可以输出它。

循环XML

我们要初始化XML解析器,加载XML,并循环 <note> 元素的所有元素:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load(”note.xml”);
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item){
print $item->nodeName . ” = ” . $item->nodeValue . “<br />”;
}
?>

输出效果:

#text =

to = George

#text =

from = John

#text =

heading = Reminder

#text =

body = Don’t forget the meeting!

#text =

每个元素之间存在空的文本节点。当 XML 生成时,它通常会在节点之间包含空白。XML DOM 解析器把它们当作普通的元素,如果您不注意它们,有时会产生问题。

相关日志


技术研究 关键字(Tags): , , , ,

如果你觉得这篇文章不错,你可以 给我留个回复订阅它。无论如何,谢谢你的支持!

评论

还没有评论。

发表评论

(必填)

(必填)