XML子节点

问题描述:

这是我的XML文件:XML子节点

<gamesList> 
    <ID1>00000000000</ID1> 
    <ID>USER</ID> 
    <games> 
     <game> 
     <appID>000000</appID> 
     <name>Dead Rising 3</name> 
     <logo></logo> 
     <storeLink></storeLink> 
     <hoursLast2Weeks>7.2</hoursLast2Weeks> 
     <hoursOnRecord>7.2</hoursOnRecord> 
     <statsLink></statsLink> 
     <globalStatsLink></globalStatsLink> 
     </game> 
     <game> 
     <appID>000000</appID> 
     <name>Dead Rising 3</name> 
     <logo></logo> 
     <storeLink></storeLink> 
     <hoursLast2Weeks>7.2</hoursLast2Weeks> 
     <hoursOnRecord>7.2</hoursOnRecord> 
     <statsLink></statsLink> 
     <globalStatsLink></globalStatsLink> 
     </game> 
    </games> 
</gameslist> 

我试图让“名”和XML的“APPID”部分。列表中将有多达200多个项目。

我试着做

foreach($xml->children() as $child) 
    echo $child['name']; 

,并没有奏效。

我从来没有以这种方式与PHP合作,所以我几乎不知道如何或以什么方式开始这个。

+0

你找到的SimpleXMLElement实际上是如何在这里的PHP手册工作的基本用法:基本的SimpleXML用法](http://php.net/manual/en/simplexml.examples-basic.php)。你基本上犯了一些错误,很可能是因为没有介绍如何使用SimpleXMLElement。 – hakre 2014-09-28 10:57:03

$xml = simplexml_load_file('my.xml'); 

foreach($xml->games->game as $game) { 
    print $game->name; 
    print $game->appID; 
} 

“名”是不是孩子的财产,而是一个子元素本身,所以这将是

foreach($xml->children() as $child) { 
    if($child->getName() == 'name') { 
    $name = $child['name']; 
    echo $name->__toString(); 
    } 
}