Share via


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

 

公開日: 2016年4月

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

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

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

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

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

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

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

注意

実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「Customizing Development Settings in 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 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
    
  4. ReadXMLButton_Click イベント ハンドラーのコードで、filepath = の設定を正しいパスに変更します。

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

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

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

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

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

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

  3. 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
    

テスト

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

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

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

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

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

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

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

次の手順

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

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

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

参照

データに関するチュートリアル
Visual Studio でのデータへのアクセス
アプリケーションでデータを受け取る準備
Visual Studio の XML ツール