.NET Framework アプリケーションのデータセットへの XML データの読み取り
Note
データセットと関連クラスは、アプリケーションがデータベースから切断されている間にアプリケーションがメモリ内のデータを操作できるようにする、2000 年代初期からのレガシ .NET Framework テクノロジです。 テクノロジが特に役立つのは、ユーザーがデータを変更し、変更をデータベースに戻して保持できるようにするアプリケーションです。 データセットは非常に優れたテクノロジであることが証明されていますが、新しい .NET アプリケーションでは Entity Framework Core を使用することをお勧めしています。 Entity Framework には、オブジェクト モデルとして表形式データを操作する、より自然な方法が用意されており、よりシンプルなプログラミング インターフェイスが備わっています。
ADO.NET には、XML データを操作するための単純なメソッドが用意されています。 このチュートリアルでは、XML データをデータセットに読み込む Windows アプリケーションを作成します。 次に、データセットが DataGridView コントロールに表示されます。 最後に、XML ファイルの内容に基づく XML スキーマがテキスト ボックスに表示されます。
前提条件
このチュートリアルを完了するには、次のワークロードがインストールされた Visual Studio が必要です。
- .NET デスクトップ開発
- データ ストレージと処理
これらをインストールするには、Visual Studio インストーラーを開き、変更する Visual Studio のバージョンの横にある [変更] (または [その他]>[変更] ) を選択します。 Visual Studio の変更に関するページを参照してください。
新しいプロジェクトを作成する
C# または Visual Basic 用の新しい Windows フォーム アプリ プロジェクトを作成します。 プロジェクトに ReadingXML という名前を付けます。
データセットに読み込む XML ファイルを生成する
このチュートリアルでは、XML データをデータセットに読み込むことに重点を置いて、XML ファイルの内容を示します。
[プロジェクト] メニューで、 [新しい項目の追加] を選択します。
[XML ファイル] を選択し、ファイルに authors.xml という名前を指定して、 [追加] を選択します。
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 コントロールに表示するために使用します。
2 番目のボタンは、データセットからスキーマを抽出し、StringWriter を使用して TextBox コントロールに表示するために使用します。
フォームにコントロールを追加するには
デザイン ビューで
Form1
を開きます。[ツールボックス] から、次のコントロールをフォームにドラッグします。
1 つの DataGridView コントロール
1 つの TextBox コントロール
2 つの Button コントロール
次のプロパティを設定します。
コントロール プロパティ 設定 TextBox1
Multiline true
スクロールバー 垂直方向 Button1
名前 ReadXmlButton
[テキスト] Read XML
Button2
名前 ShowSchemaButton
Text Show Schema
XML データを受け取るデータセットを作成する
この手順では、authors
という名前の新しいデータセットを作成します。 データセットの詳細については、「Visual Studio のデータセット ツール」を参照してください。
ソリューション エクスプローラーで、Form1 のソース ファイルを選択し、 [ソリューション エクスプローラー] ツールバーの [ビュー デザイナー] ボタンを選択します。
ツールボックス、[データ] タブから、DataSet を Form1 にドラッグします。
[データセットの追加] ダイアログ ボックスで、 [型指定されていないデータセット] 、 [OK] の順に選択します。
DataSet1 がコンポーネント トレイに追加されます。
[プロパティ] ウィンドウで、
AuthorsDataSet
の [名前] と DataSetName プロパティを設定します。
XML ファイルをデータセットに読み込むイベント ハンドラーを作成する
[XML の読み取り] ボタンを使用すると、XML ファイルがデータセットに読み込まれます。 次に、それをデータセットにバインドする DataGridView コントロールのプロパティが設定されます。
ソリューション エクスプローラーで、Form1 を選択し、 [ソリューション エクスプローラー] ツールバーの [ビュー デザイナー] ボタンを選択します。
[XML の読み取り] ボタンをダブルクリックします。
コード エディターに
ReadXmlButton_Click
イベント ハンドラーが表示されます。次のコードを
ReadXmlButton_Click
イベント ハンドラーに入力します。ReadXMLButton_Click
イベント ハンドラーのコードで、filepath =
エントリを正しいパスに変更します。
イベント ハンドラーを作成し、テキスト ボックスにスキーマを表示する
[スキーマの表示] ボタンを使用すると、スキーマを格納した StringWriter オブジェクトが作成され、TextBox コントロールに表示されます。
ソリューション エクスプローラーで、Form1 を選択し、 [ビュー デザイナー] ボタンを選択します。
[スキーマの表示] ボタンをダブルクリックします。
コード エディターに
ShowSchemaButton_Click
イベント ハンドラーが表示されます。ShowSchemaButton_Click
イベント ハンドラーに次のコードを貼り付けます。
フォームをテストする
フォームをテストして、期待どおりに動作することを確認します。
F5 キーを選択してアプリケーションを実行します。
[XML の読み取り] ボタンを選択します。
DataGridView に XML ファイルの内容が表示されます。
[スキーマの表示] ボタンを選択します。
テキスト ボックスに XML ファイルの XML スキーマが表示されます。
次のステップ
このチュートリアルでは、XML ファイルをデータセットに読み込む方法、および XML ファイルの内容に基づいてスキーマを作成する方法の基本について説明します。 次に行う作業を以下に示します。
データセット内のデータを編集し、XML として書き戻します。 詳細については、「WriteXml」を参照してください。
データセット内のデータを編集し、データベースに書き込みます。