・XML文書内を検索し、一致したレコードだけを表示する
(注意:レコードセット構造をもつXML文書に限る)
[サンプルHTMLを表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?> <start> <dosv> <name>ゲートウェイカントリー・大阪</name> <adr>大阪市中央区日本橋2-7-5ワールドインテリアビル</adr> <tel>0120-54-2000</tel> <time>年中無休、10:30〜19:00</time> <url>http://www.gw2k.co.jp/</url> </dosv> <dosv> <name>JP テクノランド(上新)</name> <adr>大阪市浪速区日本橋5-6-7</adr> <tel>06-6634-1211</tel> <time>第1,2,3水曜日、平日=10:30〜19:00,土日祝日=10:30〜19:30</time> <url>"http://www.joshin.co.jp/</url> </dosv> <dosv> <name>ソフマップ5号店</name> <adr>大阪市浪速区日本橋5-7-17高梁ビル</adr> <tel>06-6634-6306</tel> <time>年中無休、11:00〜21:00</time> <url>http://www.sofmap.co.jp/</url> </dosv> <dosv> <name>DOS/Vパラダイス日本橋店</name> <adr>大阪市浪速区日本橋5-9-19</adr> <tel>06-6635-0568</tel> <time>年中無休、10:30-19:30,日祝10:30-18:30</time> <url>http://www.dospara.co.jp/osk/</url> </dosv> </start>
HTMLソース
<SCRIPT language="JavaScript"><!-- function SearchDosv(){ keyword = wordbox.value; //Textboxに入力した検索語 if(keyword == ""){ //検索語が未入力の場合 Result.innerHTML = "<B>検索するショップ名を入力してください!!</B>"; return; } dosvshop.recordset.moveFirst(); //先頭レコードに移動する str = ""; //検索結果を格納する文字列変数を初期化 while(!dosvshop.recordset.EOF){ //レコード末尾に達するまで繰り返す shopname = dosvshop.recordset("name").value; //現在のレコードのショップ名 if(shopname.indexOf(keyword) >= 0){ //ショップ名に検索語が含まれている場合 //検索語に一致したレコード内容を格納。HTMLタグで書式化する。 str += "<DT style='color:red'>" + dosvshop.recordset("name") + "</DT>" + "<DD>" + dosvshop.recordset("adr") + "|" + dosvshop.recordset("tel") + "|" + dosvshop.recordset("time") + "|" + dosvshop.recordset("url") + "</DD>"; } dosvshop.recordset.moveNext(); //次のレコードに移動する } //以下は検索結果の表示 if(str == "")Result.innerHTML = "<I>見つかりません!!</I>"; else Result.innerHTML = "<DL>" + str + "</DL>"; } //--></SCRIPT> </HEAD> <BODY> <xml ID="dosvshop" SRC="search01.xml"></xml> <P>ショップ名を入力: <INPUT type="text" id="wordbox" size="16"> <BUTTON onclick="SearchDosv()">検索</button></P> <H4>検索結果</H4> <DIV id="Result" style="border:thin solid green"> </DIV>
end(01/2/6)