XmlReader 개체는 정방향으로 XML 데이터 소스를 분석하기 위함입니다.
구조화되어 있는 XML 데이터 소스를 정방향으로 읽기 작업을 하여 원하는 프로그램 데이터로 가공하기 위해서는 현재 위치의 노드가 어떠한 형식인지 알 수 있어야 합니다. 그리고 현재 노드 형식에 따라 요소 읽기와 특성 읽기, 값 읽기 등을 할 수 있어야 할 것입니다.
XmlReader 개체는 정방향으로만 읽기 작업할 수 있습니다. 따라서 XmlReader 개체로 Read 메서드를 호출하면 다음 노드로 위치가 변합니다. XML 데이터는 구조적인 데이터이므로 현재 분석한 노드가 무엇인지에 따라 처리를 다르게 해야 할 때가 많습니다.
XmlReader 클래스에서는 개체의 멤버 속성으로 NodeType을 제공하고 있어 현재 위치의 노드가 어떠한 형식인지 쉽게 확인할 수 있습니다.
using System; using System.Xml; namespace 예제_3._4_현재_위치_노드의_형식_알아내기 { class Program { static void Main(string[] args) { XmlReader reader = XmlReader.Create("data.xml"); reader.MoveToContent(); while (reader.Read()) { WriteNodeInfo(reader); } } private static void WriteNodeInfo(XmlReader reader) { Console.WriteLine("노드 형식:{0}",reader.NodeType); Console.WriteLine(" ▷ 노드 이름:{0}", reader.Name); Console.WriteLine(" ▷ 노드 데이터:{0}", reader.Value); } } }