2013-06-23 75 views
0

Helle there, 有一個帖子:https://stackoverflow.com/questions/5816786/counting-nodes-in-a-xml-file-using-php 我有同樣的問題,但我沒有計數,我想回顯它。 我有這樣的代碼在XML:用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

@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