如何使用 SimpleXMLIterator 递归遍历树?
How to recursively walk tree with SimpleXMLIterator?
我有这个示例代码,为什么我的代码只能找到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>
当使用 RecursiveIteratorIterator
时,默认模式只是列出树叶 (http://php.net/manual/en/recursiveiteratoriterator.construct.php)。如果将构造更改为
$iter = new RecursiveIteratorIterator(
new SimpleXMLIterator($xml)
, RecursiveIteratorIterator::SELF_FIRST);
这表示还要列出结构的各个其他部分,并将输出...
Tag found: test2
Tag found: test3
我有这个示例代码,为什么我的代码只能找到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>
当使用 RecursiveIteratorIterator
时,默认模式只是列出树叶 (http://php.net/manual/en/recursiveiteratoriterator.construct.php)。如果将构造更改为
$iter = new RecursiveIteratorIterator(
new SimpleXMLIterator($xml)
, RecursiveIteratorIterator::SELF_FIRST);
这表示还要列出结构的各个其他部分,并将输出...
Tag found: test2
Tag found: test3