,可以通过以下步骤实现:
$.ajax()
方法来获取XML数据,并使用$.parseXML()
方法将其解析为XML文档对象。$.each()
方法来遍历XML文档中的每个记录,并将其添加到数组中。$.parseXML()
方法将数组转换为XML文档对象,并使用适当的方法将其显示在页面上。以下是一个示例代码,用于在jQuery自动完成中删除重复的XML记录:
$.ajax({
url: 'data.xml',
dataType: 'xml',
success: function(data) {
var records = [];
var temp = {};
$(data).find('record').each(function() {
var id = $(this).attr('id');
var name = $(this).find('name').text();
// 检查记录是否已存在
if (!temp[id]) {
temp[id] = true;
records.push({
id: id,
name: name
});
}
});
// 将数组中的记录转换为XML格式并显示在页面上
var xml = '<records>';
$.each(records, function(index, record) {
xml += '<record id="' + record.id + '"><name>' + record.name + '</name></record>';
});
xml += '</records>';
var xmlDoc = $.parseXML(xml);
var $xml = $(xmlDoc);
// 显示自动完成的下拉列表
$('#autocomplete').autocomplete({
source: $xml.find('name').map(function() {
return $(this).text();
}).get()
});
}
});
在上述示例代码中,假设XML数据的格式如下:
<records>
<record id="1">
<name>John</name>
</record>
<record id="2">
<name>Jane</name>
</record>
<record id="3">
<name>John</name>
</record>
</records>
该代码会从XML数据中获取所有的记录,并在自动完成的下拉列表中显示唯一的记录(删除了重复的记录)。
领取专属 10元无门槛券
手把手带您无忧上云