如何在 javascript 中处理 xml 字符串

How to process xml string in javascript

本文关键字:处理 xml 字符串 javascript      更新时间:2023-09-26

亲爱的,我有以下结构的肥皂响应

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://lbs.xius.com/messages/lbs" xmlns:ns2="http://lbs.xius.com/messages/common" xmlns:ns3="http://billing.xius.com/BalanceManagement.wsdl" xmlns:ns4="http://billing.xius.com/BalanceManagement.xsd" xmlns:ns5="http://billing.xius.com/common/header/HeaderDetails.xsd" xmlns:ns6="http://billing.xius.com/common/error/ErrorDetails.xsd" xmlns:ns8="http://lbs.xius.com/services/lbs" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Header />
   <SOAP-ENV:Body>
      <ns1:SLIAnswer>
         <ns1:Ver />
         <ns1:ResponseData>
            <ns1:ResultAndAddInfo>
               <ns1:Result>
                  <ns1:Result>SYSTEM_FAILURE</ns1:Result>
                  <ns1:ResultId>1</ns1:ResultId>
               </ns1:Result>
            </ns1:ResultAndAddInfo>
         </ns1:ResponseData>
      </ns1:SLIAnswer>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我想从这个字符串中获取"响应数据"节点中的所有子节点及其值我如何使用JavaScript来做到这一点

您可以将DOMParser()与命名空间的DOM函数一起使用。

var parser = new DOMParser(); var doc = parser.parseFromString(xml, "application/xml"); var responseData = doc.getElementsByTagNameNS('http://lbs.xius.com/messages/lbs', 'ResponseData');