2013-06-23 4 views
0

Helle there, Есть сообщение: https://stackoverflow.com/questions/5816786/counting-nodes-in-a-xml-file-using-php У меня такой же вопрос, но вместо того, чтобы считать, я хочу повторить его. У меня есть этот код в XML:Извлечение детей из XML с помощью PHP

<?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

@ExpertSystem получила решение. –

+0

Должен прочитать в такой ситуации: http://php.net/simplexml.examples-basic – hakre

ответ

1

Вы выполняете итерацию над детьми первого элемента . Попробуйте вместо этого:

/* 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.