如何使用 SimpleXML 访问 XML 元素的最后一个属性?

How can I access the last attribute of an XML element using SimpleXML?

我正在使用 SimpleXML 来解析 cXML 文档。我不知道如何从文档中最深的元素访问属性。当我在下面的 xml 片段中解析属性 "currency" 时,它不存在。我发现这只发生在最深的元素上。有没有一种方法可以使用 SimpleXML?

解析此文档

我正在尝试解析的 XML 文档的示例部分。

<ItemOut name="ItemOut">
<ItemDetail name="ItemDetail">
    <UnitPrice name="UnitPrice">
        <Money currency="USD">12.99</Money>
    </UnitPrice>
</ItemDetail>

我试过使用 json encode/decode 方式...

$simpleXml=simplexml_load_string($xml);
$json = json_encode($simpleXml);
$xmlArray = json_decode($json,TRUE);

并使用简单XML对象...
$xmlObject = new SimpleXMLElement($xml);

这是一张图片 array structure of the parsed document.

我认为你需要运行

<?php
$xmlObject = new SimpleXMLElement($xml);
$currency = $xmlObject-> ItemDetail -> UnitPrice -> Money -> attributes() -> currency;
?>

这将读取您的货币属性,在您的情况下 return EUR