[PHP] [XML] SimpleXML children()只返回一个子节点

时间:2014-09-18 06:22:12

标签: php xml

我试图通过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>

我想循环遍历所有&#34;项目&#34;,但是当我做

echo $xml->menu[0]->Stammdaten->children()->asXML();

它只返回第一个项目,仅此而已。谁能在这里告诉我我做错了什么?

格尔茨,

1 个答案:

答案 0 :(得分:1)

children()返回一个迭代器,所以你使用它:

foreach ($xml->menu[0]->Stammdaten->children() as $child)
    echo $child->asXML();