如何从具有多个属性的元素中获取属性值

时间:2020-10-27 17:11:56

标签: php xml xpath

我有这个xml文件(部分):

<exchangerates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" type="Valutakurser" author="Danmarks Nationalbank" refcur="DKK" refamt="1">
<dailyrates id="2020-10-23">
<currency code="AUD" desc="Australske dollar" rate="448,83"/>
<currency code="BGN" desc="Bulgarske lev" rate="380,44"/>

我想从澳元,澳元中获取汇率。

我的xpath查询如下:

$result = $xml->xpath("/exchangerates/dailyrates/currency[@code = 'AUD']");

它可以工作并提供以下输出:

Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [code] => AUD [desc] => Australske 
    dollar [rate] => 448,83 ) ) )

现在我被困住了。我想要[rate]值。但是如何?我已经使用导航器在C#中解决了这个问题。 但是现在我正在使用php。如有必要,我可以使用javascript。

1 个答案:

答案 0 :(得分:1)

从xpath的角度来看,您只需要将/@attributeName添加到您的xpath。

/exchangerates/dailyrates/currency[@code = 'AUD']/@rate