Share via


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

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

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

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

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

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

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

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

[!メモ]

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

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

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

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

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

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

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

    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. 次のプロパティを設定します。

    Control

    プロパティ

    設定

    TextBox1

    Multiline

    true

     

    ScrollBars

    [垂直方向]

    Button1

    名前

    ReadXmlButton

     

    テキスト

    Read XML

    Button2

    名前

    ShowSchemaButton

     

    テキスト

    Show Schema

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

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

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

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

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

  3. [ENT3ENT] ダイアログ ボックスの [ENT1ENT] を選択し次に [ENT4ENT] をクリックします。

    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 ツール