Оно возвращает пустой массив
Я пытаюсь получить широту и долготу города с помощью 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 ответа:
Для поиска конкретного
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
.
Вы должны использовать это вместо:
$xml->xpath("//lat");
Таким образом, вы ищете тег lat, который может быть везде в дереве.
Ваш запросXPath неверен. Это должно быть:
$lat= $xml->xpath("//lat");
//
указывает xPath искать узлыlat
независимо от того, где они находятся.