Reputation: 415
Helle there, There is a post: https://stackoverflow.com/questions/5816786/counting-nodes-in-a-xml-file-using-php I have the same question, but instead of count, I want to echo it. I have this code in 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>
And this as PHP:
$xml = simplexml_load_file("include/gamemodes.xml");
foreach ($xml->Row->children() as $child)
{
echo $child->getName(), ": ", $child, "<br>";
}
It only echo's the first row and none more, how can I make it to echo multiple rows, the result should be:
ModeNumber: 1
Mode: online
ModeNumber: 2
Mode: mmorpg
Sorry for my bad english.
Upvotes: 0
Views: 236
Reputation: 48212
You are iterating over the children of the first Row
element only. Try this instead:
/* 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);
}
}
See, also, this short demo.
Upvotes: 1