【发布时间】:2014-09-05 23:32:01
【问题描述】:
我只是试图通过遍历它来获取 PHP 中 XML 文件的所有节点名称。这是我的尝试:
$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$doc->loadXML("<?xml version='1.0' encoding='ISO-8859-1'?><user><name>Michael Taylor</name><offers>0</offers><address><street>Ringstreet 8</street><zip>1100</zip><city>Norther</city></address><credit>473.43</credit></user>");
$node = $doc->firstChild;
function iterateXML($node) {
if($node->childNodes->length == 0) {
echo $node->nodeName;
return;
}
$children = $node->childNodes;
foreach($children as $child) {
iterateXML($child);
}
}
iterateXML($node);
但是,输出是
#text#text#text#text#text#text
我做错了什么?
编辑:
我的最终计划是将子节点的名称添加到以“_”分隔的父节点的名称中,因此上例的最终输出应该是:
name
offers
address_street
address_zip
address_city
credit
最简单的方法是什么?
【问题讨论】:
标签: php xml domdocument