Is it possible to parse a SOAP response using the jQuery xml handler?

I have the following SOAP answer:

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getPurseBalanceResponse xmlns="https://secure.card.com/"> <getPurseBalanceResult> <callStatus> <Success>true</Success> <ErrorCode/> </callStatus> <balance>63.35</balance> <pending>30</pending> <logoUrl>https://prepa.sqasddsad.com/ytm/images/logos/sq_cashlesscaterpurse3.gif</logoUrl> <purseId>23456</purseId> <CurrencyCode>GBP</CurrencyCode> </getPurseBalanceResult> </getPurseBalanceResponse> </soap:Body> </soap:Envelope> 

My question is: can I parse this using jQuery like below ...

 var xmlText = $(xml).find("soap:Envelope"). find("soap:Body"). find("getPurseBalanceResponse"). find("getPurseBalanceResult"). find("balance").text(); console.log(xmlText); 

This is currently returning an empty string - what would be the proper jQuery call to get the "balance"?

+4
source share
2 answers

You need to avoid special characters (colon) by using double backslash \\

 var xmlText = $(xml).find("soap\\:Envelope") .find("soap\\:Body") .find("getPurseBalanceResponse") .find("getPurseBalanceResult") .find("balance").text(); console.log(xmlText); 

Here is a working fiddle .

+14
source

The short answer is yes. SOAP is XML. Any XML parser can read it. SOAP provides a whole layer of material using XML as the basic data exchange format, but if you are not interested in using the SOAP library, the XML library will do it for you. Just doing more work for you.

+1
source

Source: https://habr.com/ru/post/1383925/


All Articles