【问题标题】:How can I access the last attribute of an XML element using SimpleXML?如何使用 SimpleXML 访问 XML 元素的最后一个属性?
【发布时间】:2017-06-16 15:24:56
【问题描述】:

我正在使用 SimpleXML 来解析 cXML 文档。我不知道如何从文档中最深的元素访问属性。当我在下面的 xml sn-p 中解析属性“货币”时,它不存在。我发现这只发生在最深的元素上。有没有办法可以使用 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);

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

【问题讨论】:

    标签: php xml simplexml cxml


    【解决方案1】:

    我认为你需要跑步

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

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

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2012-04-13
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多