这个问题在这里已经有答案了:

我想使用 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>

任何人都可以建议如何解析并获得结果

有帮助吗?

解决方案

其他提示

使用 XML解析器 包括在PHP中?

我一直在亲自使用:http://ipinfodb.com/

这些示例非常清晰,简洁,API非常快。

祝你好运。

PHP中API的使用已经在他们的网站中描述了。为什么你使用但不阅读?

http://www.ipgp.net/developer-tools/

我建议你用 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. 。您可以自己的方式进行编辑。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top