<?xml version="1.0" encoding="utf-8" ?>
<booklist>
<book id="b1" kind="컴퓨터">
<title>기초에서 실무까지 XML</title>
<author>신민철</author>
<publisher>프리렉</publisher>
<price>35000</price>
</book>
<book id="b2" kind="소설">
<title>사랑과 전쟁</title>
<author>이사랑</author>
<publisher>전쟁문화사</publisher>
<price>15000</price>
</book>
<book id="b3" kind="잡지">
<title>마이크로 소프트</title>
<author>빌 게이츠</author>
<publisher>마소문화사</publisher>
<price>20000</price>
</book>
<book id="b4" kind="소설">
<title>액션가면부인 바람났네</title>
<author>짱구</author>
<publisher>짱구출판사</publisher>
<price>12000</price>
</book>
</booklist>
이번 예제는 NextSibling, PreviousSibling을 이용해서 Element의 앞, 뒤 노드를 탐색하는 예제입니다.
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;using System.Xml;
namespace CH11
{
class p557
{
static void Main()
{
string filePath = @"..\..\booklist.xml";
XmlDocument xDoc = new XmlDocument();
xDoc.Load(filePath);XmlElement eBook = xDoc.DocumentElement;
XmlElement eFirstBook = (XmlElement)eBook.FirstChild;
XmlElement eNextBook = (XmlElement)eFirstBook.NextSibling;XmlElement eLastBook = (XmlElement)eBook.LastChild;
XmlElement ePreviousBook = (XmlElement)eLastBook.PreviousSibling;if (eNextBook == ePreviousBook)
{
Console.WriteLine("동일한 Book 엘리먼트 입니다.");
}
else
{
Console.WriteLine("다른 Book 엘리먼트 입니다.");
}
}
}
}
위 원본 XML 파일에 book 노드가 4개이고,
첫노드의 다음 노드는 b2 book이고, 마지막노드의 이전 노드는 b3 book이 된다.
따라서 두개의 book 엘리먼트는 다른 엘리먼트가 된다.
ref. .NET 닷넷 개발자를 위한 XML p.557