PHP简单XML解析

标签 php simplexml nodes

我需要货币转换,欧元到美元。
欧洲中央银行在此处提供利率:
http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
我可以使用第一个节点获取美元汇率,但如果他们更改顺序怎么办?
我需要更可靠的东西吗?我不知道如何..

$xml = @simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
echo "dollar: " . $xml->Cube->Cube->Cube[0]->attributes()->rate;

最佳答案

只需使用 XPath 获取属性@currency 等于“USD”的任何节点,即可达到目的。

$xref  = simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
$nodes = $xref->xpath('//*[@currency="USD"]');

echo $nodes[0]['rate'];

关于PHP简单XML解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461757/

相关文章:

php - 查询改进: foreach

php - 如何在庞大的 php 文件中创建图片库?

php - PHP 中的 MySQL 更新查询

php - PHP IteratorIterator 类是如何工作的?

java - LinkedList 中的 Add 方法不起作用

php - 注入(inject)绑定(bind)到服务容器的实例

php - 将 SimpleXML 对象强制为字符串,无论上下文如何

php - 如何在 php DOMDocument 中导入 XML 字符串

java - event.getX 与圆的 getLayoutX 不对应

java - 如何限制 JTree 中搜索节点的显示仅限于其自身及其父节点(其他节点将被排除在显示中)?