是否可以从xml中提取与查询字符串条件匹配的记录?
例如,我有以下解析xml文件的解析脚本,页面url可以包含几个不同的查询字符串,如音乐 - 是否可以读取查询字符串,然后只解析与该短语匹配的记录查询字符串?
$.ajax({
type: "GET",
url: "#",
dataType: "xml",
success: function(xml) {
$(xml).find("catalogueResult").each(function(i) {
var mediaArtist = $("artist", this).text()
var imgSrc = $("imageUrl", this).text()
var title = $("title", this).text()
var priceCode = $("priceCode", this).text()
var mediaRow= $('<div class="mediaBlock"><div class="promoImg floL"><img src="'+imgSrc+'" width="75" alt="'+title+'"/></div><div class="promoContent"><h2>'+title+'</h2><h2 class="red">'+mediaArtist+'</h2><div class="buyBtn"><span><A href="http://www.mobilechilli.com">Buy Now</a></span></div></div></div>');
var compiledData = $(mediaRow);
$(".recommends").append(compiledData);
});
}
});
答案 0 :(得分:0)
尝试这样的事情。虽然您可能必须根据您的xml结构更改某些变量。
$(document).ready(function(){
$.ajax({
type: "GET",
url: "( URL to your xml )",
dataType: "xml",
success: parseXml
});
// function that parses XML
function parseXml(xml){
// find node with name "catalogueResult" and run function for each
$(xml).find("catalogueResult").each(function(){
// variables
var mediaArtist = $(this).find("artist").text();
var imgSrc = $(this).find("imageUrl").text();
var title = $(this).find("title").text();
var priceCode = $(this).find("priceCode").text();
var mediaRow= '<div class="mediaBlock"><div class="promoImg floL"><img src="'+imgSrc+'" width="75" alt="'+title+'"/></div><div class="promoContent"><h2>'+title+'</h2><h2 class="red">'+mediaArtist+'</h2><div class="buyBtn"><span><A href="http://www.mobilechilli.com">Buy Now</a></span></div></div></div>';
$(".recommends").append(mediaRow);
});
}