码迷,mamicode.com
首页 > Web开发 > 详细

php解析带有命名空间的xml

时间:2018-01-21 16:22:16      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:php   产品   lex   如何   code   sch   enc   .com   ruby   

xml如果带有命名空间我们将如何解析,例如:

<ns1:CreateBillResponse xmlns:ns1="http://neusoft.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ns1:out><ns1:OutVo><ns1:strB2BCode xmlns="http://neusoft.com">AM1432690905685938443</ns1:strB2BCode>/neusoft.com">01:strFlag><ns1< span="">:strHpCode xsi:nil="true" xmlns="http://neusoft.com"/><ns1:strReason xmlns="
http://neusoft.com">,产品编码为空,售达方编码为空</ns1:strReason>1:OutVo>:out>:CreateBillResponse>
 
解析的方法:
1 function parseNamespaceXml($xmlstr)
2 {
3  
4     $xmlstr = preg_replace(‘/\sxmlns="(.*?)"/‘‘ _xmlns="${1}"‘$xmlstr);
5     $xmlstr = preg_replace(‘/<(\/)?(\w+):(\w+)/‘‘<${1}${2}_${3}‘$xmlstr);
6     $xmlstr = preg_replace(‘/(\w+):(\w+)="(.*?)"/‘‘${1}_${2}="${3}"‘$xmlstr);
7     $xmlobj = simplexml_load_string($xmlstr);
8     return json_decode(json_encode($xmlobj), true);
9 }

php解析带有命名空间的xml

标签:php   产品   lex   如何   code   sch   enc   .com   ruby   

原文地址:https://www.cnblogs.com/xiaoleiel/p/8324295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!