【发布时间】:2014-09-18 06:22:11
【问题描述】:
我正在尝试通过 PHP 获取 XML 文件中的子项,如下所示:
<root>
<version>1.0.0</version>
<menu>
<Stammdaten>
<item>
<id>Test1</id>
<diconr>0</diconr>
</item>
<item>
<id>Test1</id>
<diconr>0</diconr>
</item>
<item>
<id>Test1</id>
<diconr>0</diconr>
</item>
<item>
<id>Test1</id>
<diconr>0</diconr>
</item>
<item>
<id>Test1</id>
<diconr>0</diconr>
</item>
<item>
<id>Test1</id>
<diconr>0</diconr>
</item>
<item>
<id>Test1</id>
<diconr>0</diconr>
</item>
<item>
<id>Test121</id>
<diconr>1</diconr>
</item>
<item>
<id>Test12</id>
<diconr>1</diconr>
</item>
<item>
<id>Test1</id>
<diconr>10622</diconr>
</item>
<item>
<id>Test1</id>
<diconr>10707</diconr>
</item>
<item>
<id>Test1</id>
<diconr>10707</diconr>
</item>
</Stammdaten>
</menu>
</root>
我想遍历所有“项目”,但是当我这样做时
echo $xml->menu[0]->Stammdaten->children()->asXML();
它只返回第一项,仅此而已。谁能告诉我我做错了什么?
问候,
【问题讨论】:
-
一个格式良好的 XML 文档必须只有一个根节点,因为
asXML必须返回一个格式良好的 XML 文档,所以它只返回一个节点。您可以使用$xml->menu[0]->Stammdaten->asXML(),但您将拥有<Stammdaten>作为根节点。 -
XML 更大,节点更多,我只是为了测试而把它变小了。