SimpleXML возвращает пустые массивы - PullRequest
3 голосов
/ 25 октября 2011

Я пытаюсь получить широту и долготу города с помощью API Карт Google и через 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 ]

4 голосов
/ 25 октября 2011

Для поиска конкретного 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.

2 голосов
/ 25 октября 2011

Вы должны использовать это вместо:

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

Таким образом, вы ищете лат-тег, который может быть везде в дереве.

1 голос
/ 25 октября 2011

Ваш XPath запрос неверный.Это должно быть:

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

// указывает xPath на поиск lat узлов независимо от того, где они находятся.

...