在PHP中读取XML的一个节点

时间:2014-08-29 22:54:05

标签: php xml google-maps xml-parsing

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

<?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错误,我不明白我做错了什么。提前谢谢大家。

1 个答案:

答案 0 :(得分:0)

result更改为item

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

正如您所看到的,DOMNodeList只有一种名为item(int $index)

的方法