我正在接收基於請求放置到服務器的XML響應,它確實返回了一組有效的結果,我可以使用print_r() 轉儲結果集看起來像這樣(編輯:這是文件的確切結構):通過索引概要訪問simpleXML節點em
<root>
<main_node1>
<value1>one</value1>
<value2>two</value2>
</main_node1>
<main_node2>
<anothervalue>whatever</anothervalue>
</main_node2>
<recordset>
<record>
<value1>one</value1>
<value2>two</value2>
</reocrd>
<record>
<value1>one</value1>
<value2>two</value2>
</reocrd>
<record>
<value1>one</value1>
<value2>two</value2>
</reocrd>
</recordset>
</root>
當我使用該行:
$xml = simplexml_load_string($xmlRequest);
$records = $xml->recordset->record;
我可以通過$記錄陣列與foreach循環不走任何問題,但是當我嘗試訪問記錄中的特定記錄時et使用索引如
$record = $xml->recordset->record[$index];
我得到一個NULL瓦爾回來。我也嘗試將結果轉換爲(數組),但迄今爲止沒有成功。
我看過的關於simpleXML的每個文檔都說可以通過索引訪問XML節點,有人可以告訴我我在這裏可能會做錯什麼嗎?
編輯:所以記錄集不是文檔的根目錄,但我可以使用$ xml-> recordset->記錄符號將記錄列表加載到我的$ records變量中並使用foreach將其打印出來循環。
可不可以給一個完整的例子失敗? (XML以及您使用的代碼,或者爲了示例而使用的代碼類似) – 2011-01-22 21:40:31