使用 Javascript 从 SOAP 中提取数据
Extracting Data From SOAP with Javascript
我有一个来自 Web 服务的 SOAP 响应,我只是试图从正文元素中的"总成本"中提取"金额"元素。我熟悉如何在JSON中执行此操作,但是我很难在网上找到有关如何使用Javascript/jQuery使用SOAP执行此操作的任何材料。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:TotalCostResponse xmlns="http://get_total_cost_request.business.ws.test.com" xmlns:ns1="http://business.ws.test.com" xmlns:ns2="http://get_total_cost_response.business.ws.test.com">
<ns2:MSG>
<ns2:HEADER>
<ns2:SITENO>1</ns2:SITENO>
<ns2:SYSTEM_ID>S01</ns2:SYSTEM_ID>
<ns2:CLUSTER_NAME>BUSINESS</ns2:CLUSTER_NAME>
<ns2:SERVICE_METHOD>TOTAL_COST</ns2:SERVICE_METHOD>
<ns2:VERSION_NO>1.0</ns2:VERSION_NO>
</ns2:HEADER>
<ns2:BODY>
<ns2:TOTAL_COST>
<ns2:AMOUNT>2139.82</ns2:AMOUNT>
<ns2:CURRENCY>GBP</ns2:CURRENCY>
</ns2:TOTAL_PREMIUM>
</ns2:BODY>
</ns2:MSG>
</ns1:TotalCostResponse>
</soap:Body>
</soap:Envelope>
在 JSON 中,这将是这样的;
var obj = JSON.parse(data.TotalCostResponse.MSG.BODY.TOTALCOST.AMOUNT);
但是对于我的生活,我无法弄清楚如何使用 SOAP 做到这一点。任何帮助将不胜感激!
更新 1调用是使用 jquery 的 AJAX 方法进行的,根据控制台 MSG 是未定义的。这可能与 SOAP 命名空间有关吗?
$.ajax({
type: "POST",
url: URL,
data: dataSet,
dataType: "xml",
contentType: "text/xml; charset='"utf-8'"",
success: function(data) {
obj = $.parseXML(data.TotalCostResponse.MSG.BODY.TOTAL_COST.AMOUNT);
}});
XML不能使用JSON.parse解析,它是用来解析JSON字符串的。你可以使用 jQuery.parseXML()
var obj = $.parseXML(data.TotalCostResponse.MSG.BODY.TOTALCOST.AMOUNT);
相关文章:
- 如何使用另一个字符串作为模板从字符串中提取数据
- 如何使用angular js从2个表(在sql server中)中提取数据
- 从Angular 2中的observable中提取数据
- Mongoose查询在两个日期时间之间提取数据
- 可以't从xml文件中提取数据
- 从HTML代码中提取数据
- 使用JavaScript或AJAX从HTML表单中提取数据,然后将其传递给PHP
- 正在从JSON.stringify中提取数据
- Scrapy和Xpath从javascript代码中提取数据
- 如何从高股价图中提取数据
- 如何在javascript中使用localStorage从数组中存储和提取数据
- 如何从Promise中提取数据
- 为什么我的Backbone Collection没有提取数据
- 从jQuery变量中提取数据,增加's left,将剥离的数据放回变量中
- 如何使用应用程序脚本执行API从谷歌工作表中提取数据
- 使用ng repeat从两个不同的JSON文件中提取数据
- 创建新的javascript数组,从对象属性中提取数据
- 如何使用 jQuery 在没有类的情况下提取数据
- 使用javascript从JSON中提取数据
- React组件从Flux存储中呈现数据,但从Mongo数据库中提取数据时不呈现