2011-03-11 94 views
1

我試圖解析GeoIP的API的XML輸出與PHP:解析GML用PHP

<HostipLookupResultSet version="1.0.1" xsi:noNamespaceSchemaLocation="http://www.hostip.info/api/hostip-1.0.1.xsd"> 
<gml:description>This is the Hostip Lookup Service</gml:description> 
<gml:name>hostip</gml:name> 
− 
<gml:boundedBy> 
<gml:Null>inapplicable</gml:Null> 
</gml:boundedBy> 
− 
<gml:featureMember> 
− 
<Hostip> 
<ip>111.69.232.180</ip> 
<gml:name>(Unknown City?)</gml:name> 
<countryName>(Unknown Country?)</countryName> 
<countryAbbrev>XX</countryAbbrev> 
<!-- Co-ordinates are unavailable --> 
</Hostip> 
</gml:featureMember> 
</HostipLookupResultSet> 

作爲一個完整的XML新手,我不;知道如何處理與額外的GML組件我一直在使用simplexml_load_file PHP fuynction。我如何使用simplexml_load_file從這個XML中提取城市名稱?

+1

的可能重複的[hostip.info - 解析與SimpeXML API響應(http://stackoverflow.com/questions/4828195/hostip-info-parse-api-response-with-simpexml)更 – Gordon 2011-03-11 13:54:19

+0

在HTTP:/ /stackoverflow.com/search?q=php+gml – Gordon 2011-03-11 13:55:02

回答

1

我試着從網頁鏈接的原始GML文件的情況下,它解決了。在你提供的GML中(也許你測試的是相同的),應該有一個影響它的一致性的問題。所以SimpleXML無法工作。

您的PHP代碼應該沒有問題。我已經成功地使用SimpleXML來處理大型GML文件。與XML沒有多大區別。