使用jquery解析xml feed并查找变量

时间:2014-11-25 22:43:16

标签: jquery xml

我正在尝试解析具有以下格式的XML:

 <companies>
   <company>
     <code>ABC</code>
     <url_title>ABC website</url_title>
     <url>http://www.example.com</url>
   </company>   
   <company>
     <code>DEF</code>
     <url_title>DEF website</url_title>
     <url>http://www.example.com</url>
   </company>   
   <company>
     <code>GHI</code>
     <url_title>GHI website</url_title>
     <url>http://www.example.com</url>
   </company>  
   <company>
     <code>ABC</code>
     <url_title>ABC website version 2</url_title>
     <url>http://www.example.com/version-2</url>
   </company>  
 </companies>

我使用jQuery解析来获取此文件(list.xml)然后从页面设置变量(var currentCode)将其设置为大写。然后我需要查看list.xml中是否存在此变量,如果是,我想返回相应的并将这些值添加到我的html中的标记中。

我坚持使用以下功能。

$(document).ready(function () {
$.ajax({
    type: "GET",
    url: "list.xml",
    dataType: "xml",
    success: parseXml
});

function parseXml(xml) {
    $(xml).find("company").each(function () {
        var currentCode = $('#code').html().toUpperCase();
        var url = $(this).find("url").text();
        var url_title = $(this).find("url_title").text(); 
        // code to filter through XML file and only return url and url_title if companies equals currentCode
        $("#myDiv").append("<a href=" + url + ">" + url_title + "</a>");
    });
}

});

1 个答案:

答案 0 :(得分:1)

您是否尝试将响应作为参数传递?假设响应是有效的XML

$.ajax({
    type: "GET",
    url: "list.xml",
    dataType: "xml",
    success: function(data) {
      parseXml(data)
    }
});

这是一个JSBin工作示例(使用较新的ajax回调)