我有这样的东西:
$url = "http://ws.geonames.org/findNearbyPostalCodes?country=pl&placename=";
$url .= rawurlencode($city[$i]);
$xml = simplexml_load_file($url);
echo $url."\n";
$cityCode[] = array(
'city' => $city[$i],
'lat' => $xml->code[0]->lat,
'lng' => $xml->code[0]->lng
);
它应该从geonames下载XML。如果我执行print_r($xml)
,我会得到:
SimpleXMLElement Object
(
[code] => Array
(
[0] => SimpleXMLElement Object
(
[postalcode] => 01-935
[name] => Warszawa
[countryCode] => PL
[lat] => 52.25
[lng] => 21.0
[adminCode1] => SimpleXMLElement Object
(
)
[adminName1] => Mazowieckie
[adminCode2] => SimpleXMLElement Object
(
)
[adminName2] => Warszawa
[adminCode3] => SimpleXMLElement Object
(
)
[adminName3] => SimpleXMLElement Object
(
)
[distance] => 0.0
)
我这样做,正如您看到的$xml->code[0]->lat
,它返回一个对象。如何获取该值?
发布于 2010-05-20 00:45:22
您必须将simpleXML对象转换为字符串。
$value = (string) $xml->code[0]->lat;
发布于 2011-09-02 03:49:16
您还可以使用神奇的方法__toString()
$xml->code[0]->lat->__toString()
发布于 2012-08-30 12:41:53
如果知道XML元素的值是浮点数(纬度、经度、距离),则可以使用(float)
$value = (float) $xml->code[0]->lat;
另外,整数的(int)
:
$value = (int) $xml->code[0]->distance;
https://stackoverflow.com/questions/2867575
复制相似问题