如果在外部xml文件中找到字符串,我需要运行函数matchFound()
。
这是我到目前为止所做的:
function init(){
$.ajax({
type: "GET",
url: "http://www.domain.com/feed.rss",
dataType: "text",
success: parseXml
});
}
function parseXml(xml){
// look into the xml file
}
function matchFound(){
alert('match found');
}
function matchNotFound(){
alert('match NOT found');
}
但我不知道如何解析XML并搜索字符串。
xml中的搜索位置为:rss > channel > item > title
,我只需要匹配该标记中的前10个字符。
如果找到匹配项,则运行功能matchFound()
或如果未找到则运行功能matchNotFound()
非常感谢任何帮助。
C
答案 0 :(得分:2)
首先,您需要将返回的文本视为XML,以便解释器可以正确解析此对象。
dataType: "xml",
现在在parseXml
函数中,您需要将返回的结果包装为jQuery对象,然后迭代以获取所需的元素。
修改强>
function parseXml(xml){
var string_to_find = "Hello World!";
$(xml).find('title').each(function(){
var str = $(this).text();
if(str.indexOf(string_to_find) > -1){
if(matchFound(str, string_to_find)){
return false;
}
}
});
}
function matchFound(str, string_to_find){
alert('Match found in string - '+ str +'\r\n While looking for the string- '+ string_to_find);
return true;
}
function matchNotFound(){
alert('No Match found!');
}