搜索XML for word - jQuery

时间:2013-04-27 16:13:02

标签: javascript xml ajax jquery

我希望搜索XML文档以匹配用户输入的任何字词。我遇到的问题充其量我只能得到它出现的行数,所以如果它在一行中出现两次,它只被算作一个实例。

我将搜索词从输入框传递到此函数:

function searchResults(query) {            
  var temp = "\\b" + query + "\\b";         
  var regex_query = new RegExp(temp, "gi");  
  var currentLine;
  var num_matching_lines = 0; 
  $("#mainOutput").empty();
  $("LINE", current_play_dom).each(function () {
    var line = this;
    currentLine = $(this).text();          
    matchesLine = currentLine.replace(regex_query, '<span class="query_match">' + query + '</span>');
    if (currentLine.search(regex_query) > 0) {
      $('#sideInfo>ul').empty();
      num_matching_lines++
      $("#mainOutput").append("<br /><p class='speaker_match'>"+  $(line).parent().find('SPEAKER').text() +"</p>");
      $("#mainOutput").append("<p class='act_match'>"+  $(line).parent().parent().parent().children(':first-child').text()+"</p>");
      $("#mainOutput").append("<p class='scene_match'>"+  $(line).parent().parent().children(':first-child').text() +"</p>");
      $("#mainOutput").append("<p>" + matchesLine + "</p>");
      $("#mainOutput").append("<br>");
    }   
  });
  $("#mainOutput").append("<p>" + matchesLine + "</p>");
  $("#sideInfo").append("<p>Found " + query + " " + num_matching_lines + " times</p>");
}

这输出的行数很好,但我希望能够输出单词实际出现在XML中的次数。

0 个答案:

没有答案