PHP DOMDocument使用childNodes获取子标签的名称和值

时间:2012-10-20 07:41:14

标签: php xml domdocument nodes

  

可能重复:
  Printing content of a XML file using XML DOM

<?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 -消失。但我认为这不应该是这样的。

0 个答案:

没有答案