【问题标题】:How to parse an Ajax response object to xml如何将 Ajax 响应对象解析为 xml
【发布时间】:2014-04-04 11:12:14
【问题描述】:

使用 jquery 我能够得到响应对象。但是,使用日志 LOG: Success [object HTMLCollection] 将其打印到控制台。但是,例如,我无法通过标签名称获取 xml 内容

      responseData.getElementsByTagName("data-list");

我的方法未定义,谁能帮我解决这个问题。

【问题讨论】:

  • 请您为我们提供更多背景信息。 XML 的结构是什么。
  • 试试这个 - $(responseData).find("data-list");
  • 您拥有的是一个 HTML 集合,但您无法从中获取 XML?

标签: jquery xml parsing xml-parsing


【解决方案1】:

请按照以下示例:

<!DOCTYPE html>
<html>
<head>
 <title>jQuery and XML</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="language" content="en" />
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body

<div id="output"></div>

<script type="text/javascript">
$(document).ready(function(){
 $.ajax({
  type: "GET",
  dataType: "xml",
  url: "example.xml",
  success: function(xml){
   $(xml).find("book").each(function(){
    $("#output").append($(this).attr("code") + "<br />");
   });
  }
 });
});
</script>


</body>
</html>

匹配xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<books title="A list of books">
 <book code="abcdef" />
 <book code="ghijklm">
  Some text contents
 </book>
</books>

查找特定项目:

$(xml).find("book[title='test']")

【讨论】:

    【解决方案2】:
    $.ajax({
            type: 'POST',
            contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
            url: rootURL,
            dataType: "xml",
            data: postParameter(),
            complete:function(xml){
               $(xml).find('resourceMessageBean').each(function(){
                 var data= $(this).find('data-list').text();
              });
            }
        });
    

    XML:

      <?xml version="1.0" encoding="UTF-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"    xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body><MYTesting_AppResponse xmlns="WebServices">
    <return>
    <status>success</status>
    <resourceMessageBean>
    <rsa_note3>To proceed, please enter your password and click "Login"</rsa_note3>
    <phrase>???en.common.password.login.p3???</phrase>
    <data-list>Username</data-list>
    <password>Password</password>
    </resourceMessageBean>
    <loginFormBean>
    <username>tester1</username>
    </loginFormBean>
    </return>
    </MYTesting_AppResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

    【讨论】:

    • @user3497741,很高兴为您提供帮助。不客气。如果这是您的答案,请接受答案。
    猜你喜欢
    • 1970-01-01
    • 2019-05-31
    • 2019-12-05
    • 2013-09-19
    • 2012-02-11
    • 1970-01-01
    • 2017-09-05
    • 2018-10-18
    • 1970-01-01
    相关资源
    最近更新 更多