【问题标题】:Read One Node of XML in PHP在 PHP 中读取 XML 的一个节点
【发布时间】:2014-08-29 22:54:04
【问题描述】:

我一直在寻找如何在 PHP 中读取 XML 的一个节点。 PHP 文档没有帮助,因为我不了解如何使用 PHP。我发现的所有教程都没有用,因为我只需要 PHP 来读取 XML(我将 CSHTML 用于数据库和其他服务器端的东西)。如果 XML 是 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 错误,我不明白我做错了什么。提前谢谢大家。

【问题讨论】:

    标签: php xml google-maps xml-parsing


    【解决方案1】:

    result 更改为item

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

    如您所见,DOMNodeList 只有一种方法称为item(int $index)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      相关资源
      最近更新 更多