2013-05-04 65 views
3

我試圖通過使用Php將Steam組成員列表XML文件轉換爲數組。 XML文件是:http://steamcommunity.com/groups/starhawk/memberslistxml/?xml=1.xml將XML文件元素轉換爲PHP數組

的元素是成員的蒸汽ID,比如76561198000264284

我怎麼能去這樣做?

編輯:到目前爲止,我已經使用這樣的事情:

$array = json_decode(json_encode((array)simplexml_load_string($xml)),1); 

它輸出的前幾個元素,而不是那些專門 從

+0

['SimpleXML'](http://us2.php.net/manual/en/book.simplexml.php)將是一個好的開始。 – Jon 2013-05-04 08:14:26

+0

$ array = json_decode(json_encode((array)simplexml_load_string($ xml)),1); 我試過類似的東西,只輸出前幾個元素,而不是專門從 liamp47 2013-05-04 08:15:23

+0

中輸出,你做的太多了:)只是使用simplexmlelement並訪問你感興趣的值。沒有太大用處通過數組轉換來改變它,它在沒有的情況下效果更好。 – hakre 2013-05-04 09:47:41

回答

9

這將返回完全訪問數組:

$get = file_get_contents('http://steamcommunity.com/groups/starhawk/memberslistxml/?xml=1.xml'); 
$arr = simplexml_load_string($get); 
print_r($arr); 

您現在可以訪問像這樣的項目:

echo $arr->groupID64; 
echo $arr->members->steamID64; 

編輯: 爲了解析流ID,您可以循環做

$ids = $arr->members->steamID64; 
foreach($ids as $id) { 
    echo $id; 
} 
+0

感謝您的支持,但我只希望它能夠從元素中輸出SteamID64s。 – liamp47 2013-05-04 08:19:19

1

您可以使用下面的功能代碼才能獲得正確的答案

<?php 
$getfile = file_get_contents('http://steamcommunity.com/groups/starhawk/memberslistxml/?xml=1.xml'); 

$arr = simplexml_load_string($getfile); 

foreach($arr->members->steamID64 as $a => $b) { 
    echo "<br>".$a,'="',$b,"\"\n"; 
} 
?> 

輸出

steamID64="76561198009904532" 
steamID64="76561198004808757" 
steamID64="76561198000264284" 
steamID64="76561198016710420" 
steamID64="76561198005429187" 
steamID64="76561198030184436" 
steamID64="76561197980763372" 
steamID64="76561197972363016" 
steamID64="76561198045469666" 
steamID64="76561198010892015" 
steamID64="76561198028438913" 
steamID64="76561197967117636" 
steamID64="76561197980283206" 
steamID64="76561197992198727" 
steamID64="76561198018960482" 
steamID64="76561198071675315" 
steamID64="76561198010447988" 
steamID64="76561198025628761" 

如果你想定製你可以使它根據你的需要。讓我知道如果我可以幫助你更多..