● DataSetのGetXml()メソッドで取得したデータをブラウザに送信するサンプル

図 DataSetのGetXml()メソッドで取得したデータをブラウザに送信するサンプル
このサンプルは、DataSetのGetXml()メソッドで取得した得意先テーブルのデータをXML形式でブラウザに表示します。GetXml()メソッドを使用すると、Access、SQL Server、MySQL、Oracleなどのデータベースから取り込んだデータをXML形式に変換することができます。後述するDataSetのWriteXml()メソッドは、GetXml()メソッドと同じXMLデータを出力します。
このサンプルでは、以下のノウハウを習得することができます。
▲ DataSetのGetXml()メソッドの使い方
▲ DataSetのDataSetNameプロパティの使い方
▲ ResponseのWrite()メソッドでXMLデータをブラウザに送信する方法
サンプルのPage_Load()イベントでは、DataSetに格納されている得意先テーブルのデータをGetXml()メソッドで取得してブラウザに表示します。行8-10では、得意先テーブルから3件のレコードを抽出するSQLを生成しています。行11-14では、OleDbConnection、OleDbDataAdapter、DataSetのインスタンスを生成しています。
行16では、DataSetのDataSetNameプロパティにCustomersを設定しています。このプロパティに設定した値は、XMLデータのルートになります。行17では、OleDbDataAdapterのFill()メッドで得意先テーブルからレコードを抽出してDataSetに格納しています。Fill()メソッドの引数には、DataSetとテーブル名を指定しています。
行18-20では、DataSetのGetXml()メソッドで取得したXMLデータをブラウザに送信しています。行18では、ResponseのContentTypeプロパティにXMLのデータタイプを設定しています。行19では、DataSetのGetXml()メソッドで取得したXMLデータを、ResponseのWrite()メソッドでブラウザに送信しています。行20では、ResponseのEnd()メソッドでバッファ内の未送信のデータを強制的に送信しています。これで、ブラウザには得意先テーブルのデータがXML形式で表示されます。
7: Sub Page_Load()
8: Dim strSQL As String =
"Select top 3 CustomerID, " & _
9: "CompanyName,
ContactName " & _
10: "From
Customers"
11: Dim con As New OleDbConnection( _
12: ConfigurationSettings.AppSettings("conStringNw"))
13: Dim da As New
OleDbDataAdapter(strSQL, con)
14: Dim ds As New DataSet()
15:
16: ds.DataSetName =
"Customers"
17: da.Fill(ds, "Customer")
18: Response.ContentType =
"text/xml"
19: Response.Write( ds.GetXml() )
20: Response.End()
21: End Sub