2017-02-28 117 views
1
$xml_data = '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<ns2:orders xmlns:ns2="http://skt.tmall.business.openapi.spring.service.client.domain"> 
<ns2:order> 
<ordNo>201303285538019</ordNo> 
<ordPrdSeq>1</ordPrdSeq> 
<addPrdNo>0</addPrdNo> 
<addPrdYn>N</addPrdYn> 
<ordEmail>[email protected]</ordEmail> 
<clearanceEmail>[email protected]</clearanceEmail > 
<dlvCstType>03</dlvCstType> 
<dlvNo>140065055</dlvNo> 
<lstDlvCst>0</lstDlvCst> 
<lstSellerDscPrc>0</lstSellerDscPrc> 
<lstTmallDscPrc>0</lstTmallDscPrc> 
<memID>[email protected]</memID> 
<memNo>25879997</memNo> 
<ordAmt>0</ordAmt> 
<ordCnQty>0</ordCnQty> 
<ordDt>04-03-2014 10:40:32</ordDt> 
<ordNm>Kil Jun Jeong</ordNm> 
<ordOptWonStl>300000</ordOptWonStl> 
<ordPayAmt>0</ordPayAmt> 
<ordPrtblTel>010-2988-6401</ordPrtblTel> 
<ordPrdStat>901</ordPrdStat> 
<ordQty>0</ordQty> 
<ordTlphnNo>070-7400-3141</ordTlphnNo> 
<prdNm>test product name</prdNm> 
<prdNo>233607759</prdNo> 
<prdStckNo>1532843428</prdStckNo> 
<rcvrBaseAddr>50929, Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur 
</rcvrBaseAddr> 
<rcvrDtlsAddr>jl setia budi </rcvrDtlsAddr> 
<rcvrMailNo>156010</rcvrMailNo> 
<rcvrNm>Kil Jun Jeong</rcvrNm> 
<rcvrTlphn>070-7400-3141</rcvrTlphn> 
<selPrc>100000</selPrc> 
<sellerDscPrc>0</sellerDscPrc> 
<tmallDscPrc>0</tmallDscPrc> 
</ns2:order> 
</ns2:orders>    
'; 

這是我的XML,我想分析整個XML,我試着用下面的代碼如何解析XML具有NS2元素

$xml = simplexml_load_string($xml_data); 
print_r($xml); 

但其返回空對象。

SimpleXMLElement對象()

我試着用children XML解析,但同樣的結果。我跟着這個link太多,但沒有成功

+0

這個問題已經被問過,請檢查:[http://stackoverflow.com/questions/1575788/php-library-換解析的XML上帶有一個冒號,在標籤的名稱(http://stackoverflow.com/questions/1575788/php-library-for-parsing-xml-with-a-colons-in-tag - 名字) – Ibraheem

+0

「我試着用XML解析兒童,但結果相同。」 - *你嘗試了什麼?向我們展示代碼。如果你只使用'print_r'嘗試過,那麼這可能是你的問題 - 'print_r'不能正確地「查看」SimpleXMLElements。訪問您實際需要的特定數據(例如,使用簡單的'echo')。 – IMSoP

回答

2

您可以使用此:

$xml_data = str_replace("ns2:","",$xml_data); 
$xml = simplexml_load_string($xml_data); 
print_r($xml);