我有这样的XML文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
我在我的php页面编码:
<? php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . " = " . $item->nodeValue . "<br />";
}
?>
上面代码的输出是:
#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =
我知道,当XML生成时,它通常在节点之间包含空格。但是任何人都可以帮助我循环遍历节点之间的XML旁路空格元素的所有元素。我的意思是只遍历元素的所有真实元素。请帮助我。
答案 0 :(得分:4)
试试这个
$xmlDoc = new DOMDocument();
$xmlDoc->preserveWhiteSpace = false;
$xmlDoc->load("note.xml");
答案 1 :(得分:2)
如果你只是想迭代元素(并且没有像重新排序元素那样花哨的东西等等),我会选择simplexml
- 扩展,这使得处理XML变得更加简单:
$xml = simplexml_load_file('note.xml');
foreach ($xml as $node) {
echo $node->getName() . ' = ' . (string)$node . '<br />';
}
答案 2 :(得分:0)
无论你做什么,它都只是对症治疗。 XML文件首先不应包含那些换行符,因为结束&gt;之间的任何内容都是如此。和开放&lt;被视为文本元素。