通过元素和另一个属性值获取 SimpleXML 对象中的属性值
Get attribute value in SimpleXML object by element and another attribute value
我有这样的 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>
如何使用 SimpleXML 获取货币 id="EUR" 的汇率值?没有foreach可以吗?
您可以使用 SimpleXML 的 xpath
方法 return 基于另一个属性值的节点属性:
$sxml = simplexml_load_string($xml);
$rate = (float) $sxml->xpath('./currencies/currency[@id="EUR"]/@rate')[0];
echo $rate;
请注意,该方法总是 return 一个数组,因此我们需要获取第一个元素,然后将值转换为浮点数。
有关完整示例,请参阅 https://eval.in/957883
我有这样的 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>
如何使用 SimpleXML 获取货币 id="EUR" 的汇率值?没有foreach可以吗?
您可以使用 SimpleXML 的 xpath
方法 return 基于另一个属性值的节点属性:
$sxml = simplexml_load_string($xml);
$rate = (float) $sxml->xpath('./currencies/currency[@id="EUR"]/@rate')[0];
echo $rate;
请注意,该方法总是 return 一个数组,因此我们需要获取第一个元素,然后将值转换为浮点数。
有关完整示例,请参阅 https://eval.in/957883