如何使用 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
我正在使用 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