2013-06-23 51 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