SimpleXML节点转换为字符串不起作用

时间:2013-09-25 11:07:13

标签: php xml xpath simplexml

我正在尝试从此XML文件中获取货币汇率:

http://www.bank.lv/vk/xml.xml

我从HTML表单中获取货币ID,之后我必须按货币汇率找到它。

我正在使用SimpleXML和XPath,我的选择如下:

$current_rate = $rates->xpath("/CRates/Currencies/Currency[ID='" .$source_currency ."']/Rate");

$source_currency已经过测试且有效,但是,在将$current_rate投射到(string)时,我会得到Array这个词。

我在XPath节点选择或其他地方有错误吗?

1 个答案:

答案 0 :(得分:1)

$current_rate = $rates->xpath("/CRates/Currencies/Currency[ID='" .$source_currency ."']/Rate");

即使只返回1个结果,也会返回一个数组,如果你使用print_r,你可以看到返回的结果:

print_r($current_rate);

要访问它,您必须使用:

if (isset($current_rate))
{
    echo $current_rate[0];
}

或者如果给出$source_currency给出的结果超过1的可能性:

foreach ($current_rate as $rate)
{
    echo $rate, "\n";
}