XmlReader 개체로 요소 읽기
class Book { internal string Title { get; private set; } internal int Price { get; private set; } internal static Book MakeBook(XmlReader xr) { string title = string.Empty; int price = 0; xr.ReadToDescendant("title"); title = xr.ReadElementString("title"); xr.ReadToNextSibling("price"); xr.ReadStartElement("price"); price = int.Parse(xr.Value); return new Book(title, price); } Book(string title, int price) { Title = title; Price = price; } public override string ToString() { return Title; } } class Program { static void Main(string[] args) { ArrayList ar = new ArrayList(); XmlReader reader = XmlReader.Create("data.xml"); while (reader.Read()) { if (reader.IsStartElement("book")) { Book book = Book.MakeBook(reader); if (book != null) { ar.Add(book); } } } Console.WriteLine("도서 개수:{0}", ar.Count); foreach (Book book in ar) { Console.WriteLine("도서명:{0} 가격:{1}", book.Title, book.Price); } } } |
[소스] XmlReader 개체로 요소 읽기 예제 코드
<?xml version="1.0" encoding="utf-8"?> <books xmlns="urn:books-schema"> <book> <title>XML.NET</title> <price>12000</price> </book> <book> <title>ADO.NET</title> <price>15000</price> </book> </books> |
[문서] data.xml 문서 내용
'.NET > XML.NET' 카테고리의 다른 글
[XML.NET C# 소스] XmlReader 클래스의 ReadInnerXml 메서드 (0) | 2016.04.18 |
---|---|
[XML.NET C# 소스] XmlReader 특성(Attribute) 읽기 (0) | 2016.04.18 |
[XML.NET C# 소스] XmlReader로 현재 위치의 노드 형식 알아내기 (0) | 2016.04.18 |
[XML.NET C# 소스] XmlReader 로 XML 문서 읽기 및 유효성 검사 (0) | 2016.04.18 |
[XML.NET C# 소스] RSS를 소스로 하는 XmlReader 개체 만들기 (0) | 2016.04.18 |