我正在尝试解析具有以下格式的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>");
});
}
});
答案 0 :(得分:1)
您是否尝试将响应作为参数传递?假设响应是有效的XML
$.ajax({
type: "GET",
url: "list.xml",
dataType: "xml",
success: function(data) {
parseXml(data)
}
});
这是一个JSBin工作示例(使用较新的ajax回调)