我有以下 XML:
<?xml version="1.0"?>
<STATUS_LIST>
<ORDER_STATUS SORDER_CODE="SO001" ASSOCIATED_REF="001">
<INVOICES>
<INVOICE INVOICE_CODE="???">SOMETHING</INVOICE>
</INVOICES>
</ORDER_STATUS>
</STATUS_LIST>
当我运行以下代码时:
$statuses = simplexml_load_string($result); //Where $result is my XML
if (!empty($statuses))
{
foreach ($statuses as $status)
{
foreach ($status->INVOICES as $invoice)
{
echo (string)$invoice->attributes()->INVOICE_CODE;
}
}
}
我单步执行此代码,我可以看到针对的属性,ORDER_STATUS
但我看不到针对INVOICE
. 但是,我可以看到SOMETHING
发票的价值。
知道是什么原因造成的吗?
更新
经过一些测试,如果我将元素添加到元素中,我可以获得属性来显示INVOICE
,所以如果我使用这个 xml 代替它会起作用:
<?xml version="1.0"?>
<STATUS_LIST>
<ORDER_STATUS SORDER_CODE="SO001" ASSOCIATED_REF="001">
<INVOICES>
<INVOICE INVOICE_CODE="???"><TEST>tester</TEST></INVOICE>
</INVOICES>
</ORDER_STATUS>
</STATUS_LIST>
所以它必须有一个内部元素来获取属性!?