2011-10-25 65 views
3

我試圖通過Google Maps API和PHP(SimpleXML)獲取城市的經緯度。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); 

但這返回每次一個空數組。 我錯過了什麼嗎?

任何幫助,非常感謝。

回答

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路徑。

+0

非常感謝! – samn

2

你應該使用這樣的:

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

這樣你正在尋找緯度標籤可能是無處不在的樹。

1

您的XPath查詢是錯誤的。它應該是:

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

//告訴XPATH搜索lat節點,無論他們在哪裏。