チュートリアル : データセットへの XML データの読み込み
公開日: 2016年4月
ADO.NET には、XML データを使用するための簡単な方法が用意されています。 このチュートリアルでは、XML データをデータセットに読み込む Windows アプリケーションを作成します。 読み込まれたデータセットは DataGridView に表示されます。 最後に、XML ファイルの内容に基づいた XML スキーマがテキスト ボックスに表示されます。
このチュートリアルは、主に次の 5 つの手順で構成されています。
新しいプロジェクトを作成します。
データセットに読み込む XML ファイルを作成します。
ユーザー インターフェイスを作成します。
データセットを作成し、XML ファイルを読み込んで DataGridView コントロールに表示します。
XML ファイルに基づく XML スキーマを TextBox コントロールに表示するためのコードを追加します。
注意
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「Customizing Development Settings in Visual Studio」を参照してください。
新しいプロジェクトの作成
この手順では、このチュートリアルを含める Visual Basic プロジェクトまたは Visual C# プロジェクトを作成します。
新しい Windows プロジェクトを作成するには
[ファイル] メニューで新しいプロジェクトを作成します。
プロジェクトに「
ReadingXML
」という名前を付けます。[Windows アプリケーション] をクリックし、[OK] をクリックします。 詳細については、「クライアント アプリケーション」を参照してください。
ReadingXML プロジェクトが作成されてソリューション エクスプローラーに追加されます。
データセットに読み込む XML ファイルの作成
このチュートリアルでは、データセットへの XML データの読み込みについて重点的に説明するため、XML ファイルの内容を説明します。
データセットに読み込む XML ファイルを作成するには
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[XML ファイル] をクリックし、ファイルに「
authors.xml
」という名前を付けて、[追加] をクリックします。XML ファイルがデザイナーに読み込まれ、編集できるようになります。
エディターで XML 宣言の下に次のコードを貼り付けます。
<Authors_Table> <authors> <au_id>172-32-1176</au_id> <au_lname>White</au_lname> <au_fname>Johnson</au_fname> <phone>408 496-7223</phone> <address>10932 Bigge Rd.</address> <city>Menlo Park</city> <state>CA</state> <zip>94025</zip> <contract>true</contract> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Green</au_lname> <au_fname>Margie</au_fname> <phone>415 986-7020</phone> <address>309 63rd St. #411</address> <city>Oakland</city> <state>CA</state> <zip>94618</zip> <contract>true</contract> </authors> <authors> <au_id>238-95-7766</au_id> <au_lname>Carson</au_lname> <au_fname>Cheryl</au_fname> <phone>415 548-7723</phone> <address>589 Darwin Ln.</address> <city>Berkeley</city> <state>CA</state> <zip>94705</zip> <contract>true</contract> </authors> <authors> <au_id>267-41-2394</au_id> <au_lname>Hunter</au_lname> <au_fname>Anne</au_fname> <phone>408 286-2428</phone> <address>22 Cleveland Av. #14</address> <city>San Jose</city> <state>CA</state> <zip>95128</zip> <contract>true</contract> </authors> <authors> <au_id>274-80-9391</au_id> <au_lname>Straight</au_lname> <au_fname>Dean</au_fname> <phone>415 834-2919</phone> <address>5420 College Av.</address> <city>Oakland</city> <state>CA</state> <zip>94609</zip> <contract>true</contract> </authors> </Authors_Table>
[ファイル] メニューの [authors.xml の保存] をポイントします。
ユーザー インターフェイスの作成
このアプリケーションのユーザー インターフェイスは、次のコントロールで構成されています。
XML ファイルの内容をデータとして表示する DataGridView コントロール
XML ファイルの XML スキーマを表示する TextBox コントロール
2 つの Button コントロール
1 つのボタンは XML ファイルをデータセットに読み込んで DataGridView コントロールに表示します。
もう 1 つのボタンは、データセットからスキーマを抽出し、StringWriter を使用して TextBox コントロールに表示します。
フォームにコントロールを追加するには
デザイン ビューで
Form1
を開きます。ツールボックスからフォームに次のコントロールをドラッグします。
1 つの DataGridView コントロール
1 つの TextBox コントロール
2 つの Button コントロール
次のプロパティを設定します。
Control プロパティ 設定 TextBox1
Multiline true
ScrollBars [垂直方向] Button1
名前 ReadXmlButton
テキスト Read XML
Button2
名前 ShowSchemaButton
テキスト Show Schema
XML データを受け取るデータセットの作成
次に、authors
という名前の新しいデータセットを作成します。 データセットの詳細については、「Visual Studio でのデータセットの操作」を参照してください。
XML データを受け取るデータセットを新規作成するには
ソリューション エクスプローラーで Form1 のソース ファイルを選択し、ソリューション エクスプローラーの [デザイナーの表示] をクリックします。
ツールボックス、[データ] タブから Form1 にデータセットをドラッグします。
[ENT3ENT] ダイアログ ボックスの [ENT1ENT] を選択し次に [ENT4ENT] をクリックします。
DataSet1 がコンポーネント トレイに追加されます。
[プロパティ] ウィンドウで、Name プロパティおよび DataSetName プロパティを
AuthorsDataSet
に設定します。
XML をデータセットに読み込むイベント ハンドラーの作成
[Read XML] ボタンを使うと、XML ファイルがデータセットに読み込まれ、ファイルをデータセットにバインドする DataGridView コントロールのプロパティが設定されます。
ReadXmlButton_Click イベント ハンドラーにコードを追加するには
ソリューション エクスプローラーの [Form1] をクリックし、ソリューション エクスプローラー ツール バーの [デザイナーの表示] をクリックします。
[Read XML] をダブルクリックします。
コード エディターが開き、
ReadXmlButton_Click
イベント ハンドラーが表示されます。ReadXmlButton_Click
イベント ハンドラー内に次のコードを入力します。private void ReadXmlButton_Click(object sender, EventArgs e) { string filePath = "Complete path where you saved the XML file"; AuthorsDataSet.ReadXml(filePath); dataGridView1.DataSource = AuthorsDataSet; dataGridView1.DataMember = "authors"; }
Private Sub ReadXmlButton_Click() Handles ReadXmlButton.Click Dim filePath As String = "Complete path where you saved the XML file" AuthorsDataSet.ReadXml(filePath) DataGridView1.DataSource = AuthorsDataSet DataGridView1.DataMember = "authors" End Sub
ReadXMLButton_Click
イベント ハンドラーのコードで、filepath =
の設定を正しいパスに変更します。
テキスト ボックスにスキーマを表示するイベント ハンドラーの作成
[Show Schema] をクリックすると、StringWriter オブジェクトが作成されます。このオブジェクトは、スキーマを格納しており、TextBox に表示されます。
ShowSchemaButton_Click イベント ハンドラーにコードを追加するには
ソリューション エクスプローラーで Form1 を選択し、[デザイナーの表示] をクリックします。
[Show Schema] をダブルクリックします。
コード エディターが開き、
ShowSchemaButton_Click
イベント ハンドラーが表示されます。ShowSchemaButton_Click
イベント ハンドラー内に次のコードを入力します。private void ShowSchemaButton_Click(object sender, EventArgs e) { System.IO.StringWriter swXML = new System.IO.StringWriter(); AuthorsDataSet.WriteXmlSchema(swXML); textBox1.Text = swXML.ToString(); }
Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click Dim swXML As New System.IO.StringWriter() AuthorsDataSet.WriteXmlSchema(swXML) TextBox1.Text = swXML.ToString End Sub
テスト
フォームをテストして、期待どおりに動作することを確認します。
フォームをテストするには
F5 キーを押してアプリケーションを実行します。
[Read XML] をクリックします。
XML ファイルの内容が DataGridView に表示されます。
[Show Schema] をクリックします。
XML ファイルの XML スキーマがテキスト ボックスに表示されます。
次の手順
このチュートリアルでは、データセットに XML ファイルを読み込む方法の基本と、XML ファイルの内容に基づくスキーマの作成方法の基本を示します。 次に行う作業は以下のとおりです。
データセットのデータを編集し、XML としてデータセットに書き込みます。 詳細については、「WriteXml」を参照してください。
データセットのデータを編集し、データベースに書き込みます。 詳細については、「データの保存」を参照してください。
参照
データに関するチュートリアル
Visual Studio でのデータへのアクセス
アプリケーションでデータを受け取る準備
Visual Studio の XML ツール