List 10 Webページの検索
1: <HTML>
2: <BODY>
3: <H1>本文検索</H1>
4: 検索対象となるURL:<INPUT TYPE="TEXT" NAME="urlText" SIZE="60"><BR>
5: <INPUT TYPE="CHECKBOX" NAME="includeSubDir">サブディレクトリも含む<BR>
6: 検索する文字列<INPUT TYPE="TEXT" NAME="findText" SIZE="60"><BR>
7: <INPUT TYPE="BUTTON" NAME="searchbtn" VALUE="検索"><BR>
8: 【検索結果】<BR>
9: <TEXTAREA ID="RESULT" COLS="80" ROWS="10">
10: </TEXTAREA>
11:
12: <SCRIPT LANGUAGE="VBScript">
13: <!--
14: Sub searchbtn_onClick
15: ' 検索ボタンが押されたときの処理
16:
17: ' Microsoft.XMLHTTPコンポーネントの実体化
18: Set xmlObj = CreateObject("Microsoft.XMLHTTP")
19:
20: ' SEARCHメソッドとして開く
21: xmlObj.Open "SEARCH", urlText.Value, false
22: ' XML形式のデータを送れるよう準備する
23: xmlObj.setRequestHeader "Content-Type", "text/xml"
24:
25: ' サーバーに送信するXML形式のデータを作成する
26: ' ここではMicrosoft.XMLDOMコンポーネントを用いた
27: Set objDOM = CreateObject("Microsoft.XMLDOM")
28:
29: ' XMLのプロセッシングインストラクションの準備
30: Set objPi = objDom.createProcessingInstruction("xml", "version=""1.0""")
31: objDom.appendChild objPi
32:
33: ' searchrequestエレメントを作成する
34: Set node01 = objDom.createNode(1, "DAV:searchrequest", "DAV:")
35: set objDom.documentElement = node01
36:
37: ' sqlエレメントを作成する
38: Set node02 = objDom.createNode(1, "DAV:sql", "DAV:")
39: node01.appendChild node02
40:
41: If includeSubDir.Checked = False Then
42: ' サブディレクトリを含む
43: FromStr = "SCOPE('shallow traversal of """
44: Else
45: ' サブディレクトリを含まない
46: FromStr = "SCOPE('deep traversal of """
47: End If
48:
49: FromStr = FromStr & urlText.Value & """')"
50:
51: ' SELECT文を作成する
52: queryText = "SELECT ""DAV:href"", ""DAV:displayname"" FROM " & _
53: FromStr & _
54: " WHERE CONTAINS('" & findtext.Value & "')"
55: Set query = objDom.createTextNode(queryText)
56: node02.appendChild query
57:
58: ' 作成したXMLデータをサーバーに送信する
59: xmlObj.send objDom
60:
61: ' 結果を本HTML上に用意したResultというTEXTAREAに設定する
62: Result.Value = xmlObj.ResponseText
63:
64: ' 利用したコンポーネント群を解放する
65: Set xmlObj = Nothing
66: Set query = Nothing
67: Set node02 = Nothing
68: Set node01 = Nothing
69: Set objPi = Nothing
70: Set objDom = Nothing
71: End Sub
72: -->
73: </SCRIPT>
74: </BODY>
75: </HTML>