Helle在那里, 有一篇帖子:https://stackoverflow.com/questions/5816786/counting-nodes-in-a-xml-file-using-php 我有同样的问题,但我想回应它,而不是计数。 我在xml中有这段代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Row>
<ModeNumber>1</ModeNumber>
<Mode>online</Mode>
</Row>
<Row>
<ModeNumber>2</ModeNumber>
<Mode>mmorpg</Mode>
</Row>
这就像PHP:
$xml = simplexml_load_file("include/gamemodes.xml");
foreach ($xml->Row->children() as $child)
{
echo $child->getName(), ": ", $child, "<br>";
}
它只回显第一行而不是更多,如何让它回显多行,结果应该是:
ModeNumber: 1
Mode: online
ModeNumber: 2
Mode: mmorpg
抱歉我的英语不好。
答案 0 :(得分:1)
您只是迭代第一个Row
元素的子元素。试试这个:
/* Iterate over all 'Row' elements */
foreach ($xml->Row as $row)
{
/* For each 'Row' iterate over all children elements */
foreach ($row as $child)
{
printf("%s: %s\n", $child->getName(), $child);
}
}
另请参阅此 short demo 。