我有这个示例代码,为什么我的代码只能找到test3标签? test和test2在哪里?
$iter = new RecursiveIteratorIterator(
new SimpleXMLIterator(file_get_contents('./test.xml'))
);
foreach ($iter as $node) {
echo "Tag found: ".$node->getName()."\n";
}
的test.xml
<?xml version="1.0" encoding="UTF-8"?>
<test>
<test2>
<test3>dsfds</test3>
</test2>
</test>
答案 0 :(得分:2)
使用RecursiveIteratorIterator
时,默认模式是JUST列出叶子(http://php.net/manual/en/recursiveiteratoriterator.construct.php)。如果将构造更改为
$iter = new RecursiveIteratorIterator(
new SimpleXMLIterator($xml)
, RecursiveIteratorIterator::SELF_FIRST);
这表示还列出了结构的各个其他部分,并将输出......
Tag found: test2
Tag found: test3