2010-11-16 80 views
-2

我想用PHP來找到IP地址國家,城市,緯度和經度獲得國家名稱。我使用這個URL,它以xml格式返回數據。如何從IP地址在PHP

http://www.ipgp.net/api/xml/122.163.6.58

的數據來這樣的:

<IpLookup> 
    <Ip>122.163.6.58</Ip> 
    <Code>IN</Code> 
    <Country>India</Country> 
    <Flag>http://www.ipgp.net/flags/in.png</Flag> 
    <City>Calcutta</City> 
    <Region>West Bengal</Region> 
    <Isp></Isp> 
    <Lat>22.5697</Lat> 
    <Lng>88.3697</Lng> 
</IpLookup> 

任何人都可以建議如何解析和得到的結果

回答

0

我一直在使用這種個人的看法: http://ipinfodb.com/

的例子非常清晰,簡潔和API是非常快的。

祝你好運。

0

我會建議你使用xpath這是更多的訪問屬性更易於架構。 例如,對於當前的數據,我有以下幾點:

$file = 'file.xml'; 
$xml = new SimpleXMLElement($file, NULL, TRUE); 
$ipz = $xml->xpath("/IpLookup/Ip"); 
$country = $xml->xpath("/IpLookup/Country/"); 
foreach($ipz as $ip) 
{ 
    foreach($country as $country) 
    { 
     echo $ip.'<br/>'; 
     echo $country.'<br/>'; 
    } 
} 

這個代碼將返回你的ipcountry您當前xml。你可以用你自己的方式編輯它。