首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从SimpleXMLElement对象获取值

从SimpleXMLElement对象获取值
EN

Stack Overflow用户
提问于 2010-05-20 00:42:15
回答 11查看 256.7K关注 0票数 218

我有这样的东西:

代码语言:javascript
复制
$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),我会得到:

代码语言:javascript
复制
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,它返回一个对象。如何获取该值?

EN

回答 11

Stack Overflow用户

发布于 2010-05-20 00:45:22

您必须将simpleXML对象转换为字符串。

代码语言:javascript
复制
$value = (string) $xml->code[0]->lat;
票数 461
EN

Stack Overflow用户

发布于 2011-09-02 03:49:16

您还可以使用神奇的方法__toString()

代码语言:javascript
复制
$xml->code[0]->lat->__toString()
票数 100
EN

Stack Overflow用户

发布于 2012-08-30 12:41:53

如果知道XML元素的值是浮点数(纬度、经度、距离),则可以使用(float)

代码语言:javascript
复制
$value = (float) $xml->code[0]->lat;

另外,整数的(int)

代码语言:javascript
复制
$value = (int) $xml->code[0]->distance;
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2867575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档