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
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