<?xml version="1.0" encoding="UTF-8"?>
<colors>
<apple>red</apple>
<banana>yellow</banana>
<grape>purple</grape>
</colors>
由于水果名称(标签名称)未知,我正在尝试使用childNodes
<colors>
$dom = new DOMDocument();
$dom->load("colors.xml");
$dom->preserveWhiteSpace = false;
$root = $dom->getElementsByTagName("colors")->item(0);
$colors = $root->childNodes;
echo "<p>".$colors->length."</p>";
foreach($colors as $color) {
echo "<p>".$color->nodeName." - ".$color->nodeValue."</p>";
}
$colors->length
返回7而不是3,结果为:
#text -
apple - red
#text -
banana - yellow
#text -
grape - purple
#text -
有人可以解释那些#text -
是什么吗?我的代码出了什么问题?感谢。
如果我手动删除标签并从xml文件返回,请将整个文件设为一行,#text -
消失。但我认为这不应该是这样的。