将XML文件元素转换为PHP数组

时间:2013-05-04 08:12:51

标签: php xml steam

我正在尝试使用Php将Steam组成员列表XML文件转换为数组。 XML文件是:http://steamcommunity.com/groups/starhawk/memberslistxml/?xml=1.xml

元素是成员的蒸汽ID,例如76561198000264284

我该怎么做呢?

编辑:到目前为止,我使用过这样的东西:

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

它输出前几个元素,而不是具体的元素 来自

2 个答案:

答案 0 :(得分:13)

这应该返回完全可访问的数组:

$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; 

编辑: 要解析streamID,可以执行for循环

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

答案 1 :(得分: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"

如果您想自定义,可以根据需要制作。让我知道我是否可以帮助你更多..