チュートリアル : データセットへの XML データの読み込み

ADO.NET には、XML データを使用するための簡単な方法が用意されています。 このチュートリアルでは、XML データをデータセットに読み込む Windows アプリケーションを作成します。 読み込まれたデータセットは DataGridView に表示されます。 最後に、XML ファイルの内容に基づいた XML スキーマがテキスト ボックスに表示されます。

このチュートリアルは、主に次の 5 つの手順で構成されています。

  1. 新しいプロジェクトを作成します。

  2. データセットに読み込む XML ファイルを作成します。

  3. ユーザー インターフェイスを作成します。

  4. データセットを作成し、XML ファイルを読み込んで DataGridView コントロールに表示します。

  5. XML ファイルに基づく XML スキーマを TextBox コントロールに表示するためのコードを追加します。

注意

実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。

新しいプロジェクトの作成

この手順では、このチュートリアルを含める Visual Basic プロジェクトまたは Visual C# プロジェクトを作成します。

新しい Windows プロジェクトを作成するには

  1. [ファイル] メニューで新しいプロジェクトを作成します。

  2. プロジェクトに「ReadingXML」という名前を付けます。

  3. [Windows アプリケーション] をクリックし、[OK] をクリックします。 詳細については、「Windows ベースのアプリケーションの作成」を参照してください。

    ReadingXML プロジェクトが作成されてソリューション エクスプローラーに追加されます。

データセットに読み込む XML ファイルの作成

このチュートリアルでは、データセットへの XML データの読み込みについて重点的に説明するため、XML ファイルの内容を説明します。

データセットに読み込む XML ファイルを作成するには

  1. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

  2. [XML ファイル] をクリックし、ファイルに「authors.xml」という名前を付けて、[追加] をクリックします。

    XML ファイルがデザイナーに読み込まれ、編集できるようになります。

  3. エディターで 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>
    
  4. [ファイル] メニューの [authors.xml の保存] をポイントします。

ユーザー インターフェイスの作成

このアプリケーションのユーザー インターフェイスは、次のコントロールで構成されています。

  • XML ファイルの内容をデータとして表示する DataGridView コントロール

  • XML ファイルの XML スキーマを表示する TextBox コントロール

  • 2 つの Button コントロール

    • 1 つのボタンは XML ファイルをデータセットに読み込んで DataGridView コントロールに表示します。

    • もう 1 つのボタンは、データセットからスキーマを抽出し、StringWriter を使用して TextBox コントロールに表示します。

フォームにコントロールを追加するには

  1. デザイン ビューで Form1 を開きます。

  2. ツールボックスからフォームに次のコントロールをドラッグします。

  3. 次のプロパティを設定します。

    コントロール

    プロパティ

    設定

    TextBox1

    Multiline

    true

     

    ScrollBars

    Vertical

    Button1

    Name

    ReadXmlButton

     

    Text

    Read XML

    Button2

    Name

    ShowSchemaButton

     

    Text

    Show Schema

XML データを受け取るデータセットの作成

次に、authors という名前の新しいデータセットを作成します。 データセットの詳細については、「Visual Studio でのデータセットの操作」を参照してください。

XML データを受け取るデータセットを新規作成するには

  1. ソリューション エクスプローラーForm1 のソース ファイルを選択し、ソリューション エクスプローラー[デザイナーの表示] をクリックします。

  2. [データ] タブ (ツールボックス)から Form1データセットをドラッグします。

  3. [データセットの追加] ダイアログ ボックス[型指定のないデータセット] を選択して、[OK] をクリックします。

    DataSet1 がコンポーネント トレイに追加されます。

  4. [プロパティ] ウィンドウで、Name プロパティおよび DataSetName プロパティを AuthorsDataSet に設定します。

XML をデータセットに読み込むイベント ハンドラーの作成

[Read XML] ボタンを使うと、XML ファイルがデータセットに読み込まれ、ファイルをデータセットにバインドする DataGridView コントロールのプロパティが設定されます。

ReadXmlButton_Click イベント ハンドラーにコードを追加するには

  1. ソリューション エクスプローラー[Form1] をクリックし、ソリューション エクスプローラー ツール バーの [デザイナーの表示] をクリックします。

  2. [Read XML] をダブルクリックします。

    コード エディターが開き、ReadXmlButton_Click イベント ハンドラーが表示されます。

  3. ReadXmlButton_Click イベント ハンドラー内に次のコードを入力します。

    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
    
    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";
    }
    
  4. ReadXMLButton_Click イベント ハンドラーのコードで、filepath = の設定を正しいパスに変更します。

テキスト ボックスにスキーマを表示するイベント ハンドラーの作成

[Show Schema] をクリックすると、StringWriter オブジェクトが作成されます。このオブジェクトは、スキーマを格納しており、TextBox に表示されます。

ShowSchemaButton_Click イベント ハンドラーにコードを追加するには

  1. ソリューション エクスプローラーForm1 を選択し、[デザイナーの表示] をクリックします。

  2. [Show Schema] をダブルクリックします。

    コード エディターが開き、ShowSchemaButton_Click イベント ハンドラーが表示されます。

  3. ShowSchemaButton_Click イベント ハンドラー内に次のコードを入力します。

    Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click
    
        Dim swXML As New System.IO.StringWriter()
        AuthorsDataSet.WriteXmlSchema(swXML)
        TextBox1.Text = swXML.ToString
    End Sub
    
    private void ShowSchemaButton_Click(object sender, EventArgs e)
    {
        System.IO.StringWriter swXML = new System.IO.StringWriter();
        AuthorsDataSet.WriteXmlSchema(swXML);
        textBox1.Text = swXML.ToString();
    }
    

テスト

フォームをテストして、期待どおりに動作することを確認します。

フォームをテストするには

  1. F5 キーを押してアプリケーションを実行します。

  2. [Read XML] をクリックします。

    XML ファイルの内容が DataGridView に表示されます。

  3. [Show Schema] をクリックします。

    XML ファイルの XML スキーマがテキスト ボックスに表示されます。

次の手順

このチュートリアルでは、データセットに XML ファイルを読み込む方法の基本と、XML ファイルの内容に基づくスキーマの作成方法の基本を示します。 ここでは、次の作業を行います。

  • データセットのデータを編集し、XML としてデータセットに書き込みます。 詳細については、「WriteXml」を参照してください。

  • データセットのデータを編集し、データベースに書き込みます。 詳細については、「データの保存」を参照してください。

参照

その他の技術情報

データに関するチュートリアル

Visual Studio でのデータへのアクセス

アプリケーションでデータを受け取る準備

Visual Studio の XML ツール