【发布时间】:2015-08-04 05:49:47
【问题描述】:
我正在尝试使用 simplexmlelement 在 php 中解析一个 xml 文件。
<OrderResponse>
<OrderResponseReferences>
<BuyersOrderNumber Preserve="true">100000002</BuyersOrderNumber>
<SuppliersOrderReference Preserve="true">6711637</SuppliersOrderReference>
</OrderResponseReferences>
</OrderResponse>
我正在使用下面的代码来访问 BuyersOrderNumber
$local_file_path = "C:/etrade_files/Orders/order_acknowledgements/ORA1707220-05-2015--16-48-31.xml";
$xml = simplexml_load_file($local_file_path);
foreach($xml->children() as $child)
{
$child = $child->getName();
if($child == "OrderResponseReferences")
{
$order_reference = $xml->$child->BuyersOrderNumber;
print_r($order_reference);
}
}
结果:
SimpleXMLElement Object ( [@attributes] => Array ( [Preserve] => true ) [0] => 100000002 )
我怎样才能得到订单号 100000002
此外,这个文件有多个订单行,如果有人能解释我可以用来获取所有必需信息的逻辑,那真的会对我有所帮助。
<OrderResponseLine>
<LineNumber>1</LineNumber>
<OrderResponseLineReferences>
<BuyersOrderLineReference Preserve="true">100000002</BuyersOrderLineReference>
</OrderResponseLineReferences>
<Product>
<SuppliersProductCode>108696</SuppliersProductCode>
</Product>
<Quantity>
<Amount>2</Amount>
</Quantity>
<LineTotal>331.18</LineTotal>
</OrderResponseLine>
【问题讨论】:
-
第二个 XML 中没有
<BuyersOrderNumber>。