2014-09-26 182 views
1

這是我的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

回答

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

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

「名」是不是孩子的財產,而是一個子元素本身,所以這將是

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