XML出力
CSVファイルを読み込み、取り出したデータからXML文書を作成するサンプルプログラムです。
[TOP]
1.まず次のようなCSVファイルを作成します。
このファイルを読み込み、取り出したデータをもとにXML文書を作成するサンプルを作ります。
2.「ファイル」→「新しいプロジェクト」→「WINDOWSアプリケーション」を選択。
3.ツールボックスから「Button」と「TextBox」、「OpenFileDialog」を上図のように配置する。
4.「button1」をダブルクリックして、イベントハンドラを追加する。
5.下記のコード(黒文字部分)を入力する。
using System.Xml;
using System.IO;
<中略>
private void button1_Click(object
sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() != DialogResult.OK)
return;
textBox1.Text = openFileDialog1.FileName;
StreamReader sr = null;
XmlDocument xd = new XmlDocument();
//XML宣言作成
XmlDeclaration xmd = xd.CreateXmlDeclaration("1.0",
"shift-jis", "yes");
xd.AppendChild(xmd);
//ルートノード作成
XmlElement root = xd.CreateElement("root");
XmlNode xn1,xn2;
XmlCharacterData xt;
//子ノード作成
xn1 = xd.CreateNode(XmlNodeType.Element,
"Element1", "");
try
{
string line;
sr = new StreamReader(textBox1.Text,
Encoding.Default);
while ((line = sr.ReadLine())
!= null) //テキストファイルを一行づつ読み込む
{
string[] p1 = line.Split(',');
foreach(string p2 in p1)
{
//孫ノード作成
xn2 = xd.CreateNode(XmlNodeType.Element,
"Element2", "");
//孫ノードの値
xt = xd.CreateTextNode(p2);
xn2.AppendChild(xt);//孫ノードの値を孫ノードに追加
xn1.AppendChild(xn2);//孫ノードを子ノードに追加
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sr.Close();
}
root.AppendChild(xn1);//子ノードをルートノードに追加
xd.AppendChild(root);//xmlDocumentオブジェクトにルートノード追加
textBox2.Text = xd.OuterXml;
}
メソッドの上にマウスポインタをもってくると、ポップアップヒントが表示されます。またF1キーを押すと、ヘルプが立ち上がります。
6.「デバッグ」→「デバッグ開始」または、F5キーを押すと、デバッグとともにプログラムが実行されます。
7.ボタンをクリックすると、ファイルファイアログボックスが開きます。ここで最初に作成したCSVファイルを選択すると、取り出したデータをもとに作成したXML文書がテキストボックスに表示されます。
※当サイトは、リンクフリーです。