첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ XmlTextReader 클래스 : XML 데이터 읽기

----------------------------------------------------------------------------------------------------

XML 샘플 데이터

 

 

<?xml version='1.0'?>

<bookstore>

    <book genre="autobiography">

        <title>The Autobiography of Benjamin Franklin</title>

        <author>

            <first-name>Benjamin</first-name>

            <last-name>Franklin</last-name>

        </author>

        <price>8.99</price>

    </book>

    <book genre="novel">

        <title>The Confidence Man</title>

        <author>

            <first-name>Herman</first-name>

            <last-name>Melville</last-name>

        </author>

        <price>11.99</price>

    </book>

    <book genre="philosophy">

        <title>The Gorgias</title>

        <author>

        <name>Plato</name>

        </author>

        <price>9.99</price>

    </book>

</bookstore>

 

 

XML 데이타 읽기

 

 

using System;

using System.Xml;

 

XmlTextReader xmlTextReader = new XmlTextReader("books.xml");

 

XmlDocument xmlDocument = new XmlDocument();

 

xmlDocument.Load(xmlTextReader);

 

 

<book>은 몇 개인가?

 

 

XmlNodeList bookXmlNodeList = xmlDocument.DocumentElement.SelectNodes("book");

   

Console.WriteLine("<book> 노드의 개수 : " + bookXmlNodeList.Count);

 

 

두번째 <book>의 <title>의 값은 무엇인가?

 

 

XmlNode titleXmlNode = bookXmlNodeList[1].SelectSingleNode("title");

 

Console.WriteLine("두번째 <book>의 <title>의 값은 : " + titleXmlNode.InnerText);

 

 

두번째 <book>의 속성 genre의 값은 무엇인가?

 

 

string genre = bookXmlNodeList[1].Attributes["genre"].Value;

 

Console.WriteLine(genre);

 

 

두번째 <book>의 <author>의 <first-name>의 값은 무엇인가?

 

 

string firstName = bookXmlNodeList[1].SelectSingleNode("author").SelectSingleNode("first-name").InnerText;

 

Console.WriteLine(firstName);

 

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker

댓글을 달아 주세요