如何在php中从IP地址获取国家/地区名称[重复]
-
10-10-2019 - |
题
这个问题在这里已经有答案了:
- 如何在 PHP 中解析和处理 HTML/XML? 30 个答案
我想使用 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中?
PHP中API的使用已经在他们的网站中描述了。为什么你使用但不阅读?
我建议你用 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
和 country
对于您的当前 xml
. 。您可以自己的方式进行编辑。
不隶属于 StackOverflow