2014-08-29 85 views
0

我一直在寻找如何读取PHP中的XML节点。 PHP文档没有帮助,因为我不懂如何使用PHP。我发现的所有教程都没有用,因为我只需要PHP来读取XML(我使用CSHTML for Databases和其他服务器端的东西)。我有工作代码,可以读取XML作为树,如果它是RSS格式。我正在尝试从“http://maps.googleapis.com/maps/api/geocode/xml?latlng=38.7876639,-90.8455276&sensor=false”获取谷歌地图地理编码API信息。我只想要第一个“Formatted_address”节点。我目前的代码是;在PHP中读取一个XML节点

<?php 
$xml=("http://maps.googleapis.com/maps/api/geocode/xml?latlng=38.7876639,-90.8455276&sensor=false"); 

$xmlDoc = new DOMDocument(); 
$xmlDoc->load($xml); 

//get and output "<result>" elements 
$x=$xmlDoc->getElementsByTagName('result'); 
for ($i=0; $i<=2; $i++) 
    { 
    $item=$x->result($i)->getElementsByTagName('formatted_address') 
    ->result(0)->childNodes->result(0)->nodeValue; 

    echo ($item); 
    } 
?> 

但是,这总是会返回500错误,我不明白我在做什么错。谢谢大家。

回答

0

变化resultitem

$item = $x->item($i)->getElementsByTagName('formatted_address') 
      ->item(0)->childNodes->result(0)->nodeValue; 

正如你可以看到DOMNodeList只能有一个所谓的方法item(int $index)