Хелле есть, есть сообщение: 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
Извините за мой плохой английский.
Вы выполняете итерацию только над детьми первого элемента 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); } }
См. Также эту короткую демонстрацию .