SimpleXML返回空数组

时间:2011-10-25 18:30:58

标签: php google-maps simplexml

我正在尝试使用Google Maps API和PHP(SimpleXML)获取城市的纬度和经度。

我尝试这样做:

$xml = simplexml_load_file("http://maps.googleapis.com/maps/api/geocode/xml?address=Brussels,Belgium&sensor=false");
$lat= $xml->xpath("lat");
print_r($lat);

但每次都会返回一个空数组。 我错过了什么吗?

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:4)

要搜索特定的lat,请执行以下操作:

<?php
  $xml = simplexml_load_file("http://maps.googleapis.com/maps/api/geocode/xml?address=Brussels,Belgium&sensor=false");
  $lat= $xml->xpath("/GeocodeResponse/result/geometry/location/lat");
  print_r($lat);
?>

对于所有lat次出现,请指定//lat的路径。

答案 1 :(得分:2)

你应该改用:

$xml->xpath("//lat");

通过这种方式,您可以搜索lat标签,该标签可能位于树中的任何位置。

答案 2 :(得分:1)

您的XPath查询错误。它应该是:

$lat= $xml->xpath("//lat");

//告诉xPath搜索lat个节点,无论它们在哪里。