위와 같이 Windows 응용 프로그램으로 프로젝트를 생성한 뒤, 클래스뷰를 이용해 Form1.cs의 코드를 작성하면, 된다. 아래의 bold체는 차일드노드의 개수에 따라 전역변수 i를 증가시켜 파싱하여 label에 기록하는 부분이다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
namespace xmlparser
{
public partial class Form1 : Form
{
int i = 0;
public Form1()
{
InitializeComponent();
string filePath = @"booklist.xml";
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(filePath);
XmlElement eBooklist = xmlDocument.DocumentElement;
XmlElement eFirstBook = (XmlElement)eBooklist.FirstChild;
XmlNodeList nlchilds = eFirstBook.ChildNodes;
label3.Text = "루트 엘리먼트 정보";
label4.Text = eBooklist.Name;
}
private void button1_Click(object sender, EventArgs e)
{
string filePath = @"booklist.xml";
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(filePath);
XmlElement eBooklist = xmlDocument.DocumentElement;
XmlElement eFirstBook = (XmlElement)eBooklist.FirstChild;
XmlNodeList nlchilds = eFirstBook.ChildNodes;
if (nlchilds.Count > i)
{
XmlElement eChild = (XmlElement)nlchilds[i];
label3.Text = eChild.Name + "(" + i + ")";
label4.Text = eChild.InnerText + "(" + nlchilds.Count + ")";
i++;
}
else
{
label3.Text = "자료의 수는" + nlchilds.Count + "개 입니다.";
label4.Text = "자료의 끝 입니다";
}
}
}
}
댓글 달기