プログラム
using System; using System.Collections.Generic; using System.Text; using System.Xml; namespace XmlTest { class Program { static void Main(string[] args) { XmlTextReader xr = new XmlTextReader("input.xml"); while (xr.Read()) { Print(xr); } } private static void Print(XmlReader xr) { if (xr.NodeType == XmlNodeType.Whitespace) { return; } Console.WriteLine( "NodeType = {0}, Name = {1}, Value = {2}", xr.NodeType, xr.Name, xr.Value); if (xr.NodeType == XmlNodeType.Element) { if (xr.HasAttributes) { Console.WriteLine("Attributeもち"); while(xr.MoveToNextAttribute()) { Console.WriteLine("{0} = {1}", xr.Name, xr.Value); } } } } } }
input.xml
<?xml version="1.0" encoding="utf-8" ?> <document name="テストドキュメント" version="1.0"> <head> <author>私です</author> <date>2006/08/23</date> </head> <body>本文です</body> </document>
出力結果
NodeType = XmlDeclaration, Name = xml, Value = version="1.0" encoding="utf-8" NodeType = Element, Name = document, Value = Attributeもち name = テストドキュメント version = 1.0 NodeType = Element, Name = head, Value = NodeType = Element, Name = author, Value = NodeType = Text, Name = , Value = 私です NodeType = EndElement, Name = author, Value = NodeType = Element, Name = date, Value = NodeType = Text, Name = , Value = 2006/08/23 NodeType = EndElement, Name = date, Value = NodeType = EndElement, Name = head, Value = NodeType = Element, Name = body, Value = NodeType = Text, Name = , Value = 本文です NodeType = EndElement, Name = body, Value = NodeType = EndElement, Name = document, Value =
うし!確認完了!
使うことは無いだろうけど…