我有这样的XML:
<root>
<some_nodes>
</some_nodes>
<currencies>
<currency id="UAH" rate="1.000000"/>
<currency id="USD" rate="27.000000"/>
<currency id="RUB" rate="0.380000"/>
<currency id="EUR" rate="29.350000"/>
</currencies>
</root>
如何在货币ID =&#34; EUR&#34;使用SimpleXML?没有foreach可以吗?
答案 0 :(得分:0)
您可以使用SimpleXML的xpath
方法根据另一个属性的值返回节点的属性:
$sxml = simplexml_load_string($xml);
$rate = (float) $sxml->xpath('./currencies/currency[@id="EUR"]/@rate')[0];
echo $rate;
请注意,该方法将始终返回一个数组,因此我们需要请求第一个元素,然后将该值转换为float。
有关完整示例,请参阅https://eval.in/957883