検索スクリプト

・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)