當searchterm是其中一個關鍵字時(例如'driver'或'white),它會給出結果並且似乎沒問題,但是每當searchterm擴展到'driver 102'或'R-22紅'沒有任何反應。在搜索字符串中搜索xml文件
(使用正則表達式的表達式,逃避的空間,嘗試對循環搜索關鍵詞,它通過每一個字母)
的如何從多個字詞的搜索結果在搜索關鍵詞的任何想法?(例如,「驅動器102」或'R-22紅')所提供的多個搜索詞的搜索結果
*xml doc:*
<searchable_index>
<Search>
<title>driver</title>
<keyword>101 101</keyword>
<link>R-12</link>
<color>white</color>
<itemid>test</itemid>
</Search>
<Search>
<title>driver</title>
<keyword>102</keyword>
<link>R-22</link>
<color>red</color>
<itemid>1test</itemid>
</Search>
</searchable_index>
*Javascript:*
function loadIndex() {
if (document.implementation && document.implementation.createDocument) {
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.load("index9.xml");
}
else if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.load("index9.xml");
}
}
function searchIndex() {
if (!xmlDoc) {
loadIndex();
}
var searchterm = document.getElementById("searchme").value;
searchtermconvert=searchterm.toString();
var arrsearch=xmlDoc.getElementsByTagName("Search");
results = new Array;
if (searchtermconvert.length < 3) {
alert("Enter at least three characters");
} else {
for (var i=0;i<arrsearch.length;i++){
var variable = arrsearch[i].textContent;
var exp = new RegExp(searchtermconvert,"gi");
if (variable.match(exp) != null) {
results.push(arrsearch[i]);
}
}
showResults(results,searchtermconvert);
}
}