Yahoo!検索Webサービス ウェブ検索のDataSetの派生クラスを使用したサンプルコード(VB.NET)

Yahoo!検索Webサービスのウェブ検索機能を使って検索を行うサンプルです。こちらのサンプルと違い、xsd.exeの「/d」オプションで作成されたクラスを使っています。サンプルの実行にはこのクラスも必要ですので、添付しておきます。

fileWebSearchResponse.DataSet.vb 609件 [詳細]
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
<%@ Page Language="VB" Debug="true" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<script runat="server">
 
    Protected Sub Button1_Click( _
        ByVal sender As Object, ByVal e As System.EventArgs)
        'URLを構築する
        Dim requestUrl As String = _
            "http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch"
        'アプリケーションIDを指定(必ず指定すること)
        requestUrl += "?appid=XXXXX"
        '検索クエリー。UTF-8エンコードする。
        requestUrl += "&query=" + Server.UrlEncode(TextBox1.Text)
 
        'HttpWebRequestの作成
        Dim request As System.Net.HttpWebRequest = _
            CType(System.Net.WebRequest.Create(requestUrl), _
            System.Net.HttpWebRequest)
        Dim response As System.Net.HttpWebResponse = Nothing
        Dim res As New Yahoo.jp.WebSearchResponse.NewDataSet()
        Try
            'レスポンスの取得
            response = CType(request.GetResponse(), _
            System.Net.HttpWebResponse)
            Dim strm As System.IO.Stream = response.GetResponseStream()
            'サーバーから返されたXMLデータを解析
            res.ReadXml(strm)
        Catch ex As Exception
            Label1.Text = "エラー:" + Server.HtmlEncode(ex.Message)
            Return
        Finally
            If Not (response Is Nothing) Then
                response.Close()
            End If
        End Try
        
        '結果を表示
        Label1.Text = ""
        If res.ResultSet.Count = 0 Then
            Label1.Text += "該当するページが見つかりませんでした。"
        Else
            Dim sr As Yahoo.jp.WebSearchResponse.NewDataSet.ResultSetRow = _
                res.ResultSet(0)
            Label1.Text += "<b>" + Server.HtmlEncode(TextBox1.Text) + _
                "</b> の検索結果 約 " + _
                sr.totalResultsAvailable.ToString() + "件中 " + _
                sr.firstResultPosition.ToString() + " - " + _
                sr.totalResultsReturned.ToString() + " 件目<br />" + vbLf
            Label1.Text += "<ul>" + vbLf
            Dim r As Yahoo.jp.WebSearchResponse.NewDataSet.ResultRow
            For Each r In res.Result
                Label1.Text += "<li><a href=""" + r.Url + """>" + _
                    r.Title + "</a>"
            Next r
            Label1.Text += "</ul>" + vbLf
        End If
    End Sub
</script>
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Yahoo!ウェブ検索Webサービスのサンプル</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server"
         OnClick="Button1_Click" Text="検索" /><br />
        <br />
        <asp:Label ID="Label1" runat="server"
         EnableViewState="False"></asp:Label>
    </div>
    </form>
 
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<span style="margin:15px 15px 15px 15px">
<a href="http://developer.yahoo.co.jp/about">Webサービス by Yahoo! JAPAN</a>
</span>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->
</body>
</html>

ページ情報
  • 作成日 : 2006-09-09 (土) 03:12:35
  • 作成者 : DOBON!
  • 最終編集日 : 2006-09-09 (土) 03:20:35
  • 最終編集者 : DOBON!
[ トップ ]   [ 編集 | 凍結 | 差分 | バックアップ | 添付 | 複製 | 名前変更 | リロード ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]