在 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 错误或无效/意外 token 错误。
访问里面的值的过程应该是什么
<xyz:ServiceName>
标签?
最佳答案
jQuery.parseXML()
创建一个 XML 文档。您将在此处获得无效的 XML,因为您使用的是 未定义 的命名空间 xyz
。
因此您可以使用 namespace 定义定义一个 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>
关于javascript - 访问/解析 SOAP 消息(使用 JQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45687455/