从SimpleXMLElement对象获取值

从SimpleXMLElement对象获取值

我有这样的事情:

$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,它会返回一个对象。我怎样才能获得价值?


噜噜哒
浏览 1056回答 3
3回答

九州编程

你也可以使用魔术方法__toString()$xml->code[0]->lat->__toString()

有只小跳蛙

如果您知道XML元素的值是浮点数(纬度,经度,距离),则可以使用 (float)$value = (float) $xml->code[0]->lat;另外,(int)对于整数:$value = (int) $xml->code[0]->distance;
打开App,查看更多内容
随时随地看视频慕课网APP