1

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

我试图解析的 XML 文档的示例部分。

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

我尝试过使用 json 编码/解码方式...

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

并使用 SimpleXML 对象...
$xmlObject = new SimpleXMLElement($xml);

这是 解析文档的数组结构的图片。

4

1 回答 1

1

我认为你需要跑步

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

这将读取您的货币属性并EUR在您的情况下返回

于 2017-07-12T09:35:16.853 回答