javascript - 如何使用javascript从soap中读取方法名称

标签 javascript jquery

团队,任何人都可以帮助我如何使用 javascript/jQuery 从服务器的 SOAP 响应中获取方法名称。请注意,方法名称不是固定的。对于来自服务器的每个通知,它都会有所不同。因此我必须在客户端调用该方法。我不想使用 jQuery 以外的任何库。

例如)

 <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 <SOAP-ENV:Header></SOAP-ENV:Header>
    <SOAP-ENV:Body>
       <m:ActivatedForResponse xmlns:m="http://schemas.velu.com">
          <resultCode>0</resultCode>
       </m:ActivatedForResponse>
    </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>

问题2
如果我知道我的方法名称(标题),我只是尝试了以下方法。但在实际情况中我不知道方法名称。如果我用“m:tittle”替换“tittle”,它不起作用?我这里有什么错吗?

var xml = "<rss><channel><title>MyTitle</title></channel></rss>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$title = $xml.find( "title" );

// Please note that i don't want the text; 
// i want to load "title" element itself when it is declared as "m:title" in xml.
alert($title.text());

解决方案

function Test(){
    xml=loadXMLText("config.xml");
    var $xmlDoc = $(xml),
    $bodyNode = $xmlDoc .find("SOAP-ENV\\:Body");

    $bodyNode.each(function(){ //Iterate mutiple body in different envelope
        $(this).children().each(function(){ //Iterate mutiple remote methods inside the body
            alert($(this).get(0).tagName); // Remote method name
            $(this).children().each(function(){
                alert($(this).prop("tagName")); //attribute name
                alert($(this).text());          //attribute value
            });
        });
    });
}

最佳答案

我是这样做的:

http://jsfiddle.net/mattydsw/BsrTR/

var $xml = $("<rss><channel><m:title>MyTitle</m:title></channel></rss>"),
    $title = $xml.find("m\\:title");

在 chrome、ie 和 ff 上测试。

编辑

var xml = "<rss><channel><title>MyTitle</title></channel></rss>",
$xml = $( xml ),
$title = $xml.find( "title" );
alert($title.text());

关于javascript - 如何使用javascript从soap中读取方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17653122/

相关文章:

javascript - 在鼠标点击的位置显示一个div

Javascript - 远程访问node.js应用程序

javascript - HTML 页面在浏览器 Bootstrap 之间显示不同

javascript - jquery 计数函数。 if 语句

jquery - “jQuery.getJSON”在 Internet Explorer 8 中不起作用

javascript - 使用 jquery ui 对话框时 Ember 中的两种方式绑定(bind)中断

Chrome 中的 JavaScript Promise/Defer

javascript - Google chrome - chrome.serial 连接失败

jquery - 当 DIV 具有带有文本的子元素时,如何使用 jQuery 仅从 DIV 获取文本?

jquery - 如何将 JQuery Easing 添加到我的简单 HoverIntent 菜单