2017-02-28 455 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);