我正在创建一个脚本,用于从ip获取用户位置。 我看到了这个api.But知道如何将它们放入数组并打印出来。
以下是一个示例链接: http://ipinfodb.com/ip_query.php?ip=74.125.45.100&timezone=true
此示例回复
<Response>
<Ip>74.125.45.100</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>06</RegionCode>
<RegionName>California</RegionName>
<City>Mountain View</City>
<ZipPostalCode>94043</ZipPostalCode>
<Latitude>37.4192</Latitude>
<Longitude>-122.057</Longitude>
<TimezoneName>America/Los_Angeles</TimezoneName>
<Gmtoffset>-25200</Gmtoffset>
<Isdst>1</Isdst>
</Response>
如何从阵列中获取信息并打印?
答案 0 :(得分:1)
你应该研究一下simpleXML(http://php.net/manual/en/book.simplexml.php)
使用simpleXML可以执行以下操作:
$xml = simplexml_load_file($xmlFile,'SimpleXMLElement', LIBXML_NOCDATA);
$ip = (string) $xml->Ip;
$status = (string) $xml->Status;
答案 1 :(得分:1)
使用SimpleXml个实例并循环浏览所有children nodes
$url = 'http://ipinfodb.com/ip_query.php?ip=74.125.45.100&timezone=true';
$xml = new SimpleXmlElement($url, null, true);
$info = array();
foreach ($xml->children() as $child) {
$name = $child->getName();
$info[$name] = $xml->$name;
}
// info['Ip'] = '74.125.45.100', etc
答案 2 :(得分:0)
看看SimpleXML,这是用PHP解析XML的最简单方法。