访问/解析SOAP消息(使用JQuery)

时间:2017-08-15 06:21:29

标签: javascript jquery xml soap

jQuery.parseXML()文档中给出的示例中,如果给出了简单的XML

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>"

替换为SOAP片段,如下面的

var xml = "<xyz:ServiceName>GetDetails</xyz:ServiceName>"

我收到无效的XML错误或无效/意外的令牌错误。

访问内部值的过程应该是什么  <xyz:ServiceName>代码?

1 个答案:

答案 0 :(得分:1)

jQuery.parseXML()创建一个XML文档。您将在此处获得无效的XML,因为您使用的名称空间 xyz 已定义。

因此,您可以使用命名空间定义定义 root 元素(任何url都可以)并且它现在可以正常工作 - 请参阅下面的演示:

var xml = `<root xmlns:xyz="http://www.w3.org/TR/html4/">
<xyz:ServiceName>GetDetails</xyz:ServiceName>
</root>`;
console.log(jQuery(jQuery.parseXML(xml))
  .find('root').html());
.as-console-wrapper{top:0;max-height:100%!important}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

但是对于代码段,您可以执行$(xml)

var xml = `<xyz:ServiceName>GetDetails</xyz:ServiceName>`;
console.log($(xml).prop('outerHTML'));
.as-console-wrapper{top:0;max-height:100%!important}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>