我想使用php从IP地址中找到国家,城市,经度和经度。我正在使用此URL,它以xml格式返回数据。
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 :(得分:2)
使用PHP中包含的XML parser?
答案 1 :(得分:0)
我一直在使用这个: http://ipinfodb.com/
示例非常简洁明了,API非常快。
祝你好运。答案 2 :(得分:0)
答案 3 :(得分:0)
在PHP中使用API已经在他们的网站上进行了描述。为什么使用但不读?
答案 4 :(得分: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/>';
}
}
此代码会返回您当前ip
的{{1}}和country
。你可以用自己的方式编辑它。