次の方法で共有


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

更新 : 2007 年 11 月

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

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

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

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

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

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

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

ekw4dh3f.alert_note(ja-jp,VS.90).gifメモ :

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

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

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

新しい 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 をデータセットに読み込むイベント ハンドラの作成

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

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

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

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

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

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

    Private Sub ReadXmlButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        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(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        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 ツール