C#を攻略しよう

c#

XMLファイル読込み2

XMLファイル読込み    XMLファイル読込み2

xPath式を使って特定のタグの中身を読込み

XMLファイルを読み込み、あるタグの中身だけを取り出すサンプルプログラムです。


[TOP]


1.まず次のようなXMLファイルを作成します。

<?xml version="1.0" encoding="shift_jis"?>
<html>
    <head>
    </head>
    <body>
        <h1>見出し</h1>
        <p>おはよう</p>
        <p>いい天気ですね</p>
    </body>
</html>

このXMLファイルを読み込み、Pタグの中身のみを取り出すサンプルを作ります。

2.「ファイル」→「新しいプロジェクト」→「WINDOWSアプリケーション」を選択。

XML

3.ツールボックスから「Button」と「TextBox」、「OpenFileDialog」を上図のように配置する。

4.「button1」をダブルクリックして、イベントハンドラを追加する。

5.下記のコード(黒文字部分)を入力する。

using System.Xml;

<中略>

private void button1_Click(object sender, EventArgs e)
{

     if (openFileDialog1.ShowDialog() != DialogResult.OK) return;
     textBox1.Text = openFileDialog1.FileName;
     XmlReader xmlr = null;
     //XML検証用のインスタンスを作成
     XmlReaderSettings set = new XmlReaderSettings();
     //空白を取り除く
     set.IgnoreWhitespace = true;
     try
     {
         xmlr = XmlReader.Create(textBox1.Text,set);
         string str="";
         while (xmlr.Read()) //ノード単位で読取
         {
              if (str == "p") //段落かどうか
              {
                  textBox2.Text += xmlr.Value+"\r\n";
                  str = "";
              }
              //現在のノードがスタートタグであれば、ノード名を取得
              if(xmlr.IsStartElement()) str=xmlr.LocalName;
          }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     finally
     {
         xmlr.Close();
     }
}

メソッドの上にマウスポインタをもってくると、ポップアップヒントが表示されます。またF1キーを押すと、ヘルプが立ち上がります。

6.「デバッグ」→「デバッグ開始」または、F5キーを押すと、デバッグとともにプログラムが実行されます。

7.ボタンをクリックすると、ファイルファイアログボックスが開きます。ここで最初に作成したXMLファイルを選択すると、pタグの中身だけを取り出した文字列が下部のテキストボックスに表示されます。

 

 

※当サイトは、リンクフリーです。