最終更新:
bokkuri_orz 2012年03月21日(水) 00:59:29履歴
using System.Xml;
string fileName = "text.xml";
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true; // インデントあり
settings.Encoding = Encoding.UTF8;
XmlWriter writer = null;
try
{
writer = XmlWriter.Create(fileName, settings);
writer.WriteStartDocument(); // XMLドキュメント開始
writer.WriteStartElement("root"); // ルート要素開始
// 子の要素 一つ目
writer.WriteStartElement("item");
writer.WriteAttributeString("attr", "value"); // 属性
writer.WriteComment("comment"); // コメント
writer.WriteEndElement();
// 子の要素 2つ目
writer.WriteStartElement("item");
writer.WriteStartElement("child"); // 更に子の要素
writer.WriteString("child 1"); // ノード内テキスト
writer.WriteEndElement();
writer.WriteStartElement("child"); // 更に子の要素
writer.WriteString("child 2");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement(); // ルート終了
writer.WriteEndDocument(); // XMLドキュメント終了
}
finally
{
// ファイルを閉じる
if(writer != null) writer.Close();
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<item attr="value">
<!--comment-->
</item>
<item>
<child>child 1</child>
<child>child 2</child>
</item>
</root>
using System.Xml;
using System.IO;
string fileName = "text.xml";
XmlReader reader = null;
try
{
reader = XmlReader.Create(new StreamReader(fileName));
while (reader.Read()) // ノードを一つずつ読む
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // 要素
Console.WriteLine("Element = {0}", reader.Name);
if (reader.MoveToFirstAttribute())
{
// 要素に設定されている属性
do
{
Console.WriteLine("属性 {0} = {1}", reader.Name, reader.Value);
} while (reader.MoveToNextAttribute());
}
break;
case XmlNodeType.Text: // ノードのテキスト
Console.WriteLine("Text = {0}", reader.Value);
break;
case XmlNodeType.Comment: // ノードのコメント
Console.WriteLine("Comment = {0}", reader.Value);
break;
case XmlNodeType.EndElement: // 要素の終了タグ
Console.WriteLine("EndElement = {0}", reader.Name);
break;
}
}
}
finally
{
// XMLリーダーを終了
if (reader != null) reader.Close();
}
Element = root Element = item 属性 attr = value Comment = comment EndElement = item Element = item Element = child Text = child 1 EndElement = child Element = child Text = child 2 EndElement = child EndElement = item EndElement = root
using System.Xml;
string fileName = "text.xml";
// XMLドキュメント生成
XmlDocument xml = new XmlDocument();
try
{
// XML読み込み
xml.Load(fileName);
// 目的のノードだけを取り出す
XmlNodeList nodeList = xml.SelectNodes("root/item/child");
// 全て出力
foreach (XmlNode node in nodeList)
{
Console.WriteLine("name:" + node.Name);
Console.WriteLine("text:" + node.InnerText);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
タグ


最新コメント