如何从API xml中获取节点值


How to get node value from the API xml

我试图从API获得货币汇率。代码如下

<?php
$return = file_get_contents("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20%28%22AEDUSD%22%29&env=store://datatables.org/alltableswithkeys");
$xml=simplexml_load_string($return) or die("Error: Cannot create object");
echo '<pre>'; print_r($xml);
?>

上面的代码提供了XML

SimpleXMLElement Object
(
    [results] => SimpleXMLElement Object
        (
            [rate] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [id] => AEDUSD
                        )
                    [Name] => AED/USD
                    [Rate] => 0.2722
                    [Date] => 7/14/2015
                    [Time] => 7:17am
                    [Ask] => 0.2723
                    [Bid] => 0.2722
                )
        )
)

我想获得Rate节点值[Rate] => 0.2722,我在

下面尝试过
<?php
    echo '<pre>'; print_r($xml->results->rate->Rate);
?>

结果如下:

SimpleXMLElement Object
(
    [0] => 0.2722
)

如何摆脱对象和值?

试着阅读这个问题如何获得简单XML对象的值

将其强制转换为string

echo '<pre>'; print_r((string)$xml->results->rate->Rate);