使用simpleXML访问数据属性

时间:2014-10-13 23:00:31

标签: php xml simplexml

我使用API​​来获取Block FIPS编号,但我无法在XML文件中定位该特定编号。

我在xml输出上做了一个print_r(),这是我得到的

SimpleXMLElement Object ( [@attributes] => Array ( [status] => OK [executionTime] => 6 ) [Block] => SimpleXMLElement Object ( [@attributes] => Array ( [FIPS] => 060730200252015 ) ) [County] => SimpleXMLElement Object ( [@attributes] => Array ( [FIPS] => 06073 [name] => San Diego ) ) [State] => SimpleXMLElement Object ( [@attributes] => Array ( [FIPS] => 06 [code] => CA [name] => California ) ) )

以下是正在生成的XML

<Response xmlns="http://data.fcc.gov/api" status="OK" executionTime="10">
<Block FIPS="060730200252015"/>
<County FIPS="06073" name="San Diego"/>
<State FIPS="06" code="CA" name="California"/>
</Response>

我一直试图像这样获得Block FIPS Number:

$fccAPI = "http://data.fcc.gov/api/block/2010/find?latitude=$lat&longitude=$lng";
//echo $fccAPI;
$fccXML=  simplexml_load_file($fccAPI);
print_r($fccXML);
//Echo FIPS Number
echo $fccXML->FIPS;

请帮我定位Block FIPS号码。

1 个答案:

答案 0 :(得分:0)

您需要使用以下内容:

echo $fccXML->Block[0]['FIPS'];

$fccXML是根节点,<Response>元素。 ->Block[0]选择第一个Block元素,要访问属性,请使用带有属性名称的方括号表示法,即['FIPS']

如果您遇到语法问题,SimpleXML documentation会有很多示例。