返回的是这样的,比如我只需要error msg里面的"Not in GZIP format" ,要怎么解析
<?xml version="1.0" encoding="GBK"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><soap:Header><out:system xmlns:out="http://www.ylzinfo.com/"></out:system></soap:Header><soap:Body><soap:Fault><faultcode>600</faultcode><faultstring><error msg="Not in GZIP format" /></faultstring></soap:Fault></soap:Body></soap:Envelope>
太谢谢你了
正则表达式写法不一样。
/<error msg="([^"]+)/
可以了谢谢哥。可是我要用同样办法获取后面的faultstring里面的error msg="Not in GZIP format"怎么不行呢
var
str =
'<?xml version="1.0" encoding="GBK"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><soap:Header><out:system xmlns:out="http://www.ylzinfo.com/"></out:system></soap:Header><soap:Body><soap:Fault><faultcode>600</faultcode><faultstring><error msg="Not in GZIP format" /></faultstring></soap:Fault></soap:Body></soap:Envelope>'
;
var
m = str.match(/<faultcode>(\d+)<\/faultcode>/);
console.log(m[1]);
哥,你教教我怎么用正则匹配,比如我只要获取<faultcode>600</faultcode>这里面的值600
貌似小程序的 js 里并没有内建的 XML 解析器,你可以考虑自己找一个纯 js 版本的 XML 解析器,或者索性用字符串查找匹配(正则匹配是很有效的方法)。