about uscontact

XmlTextReader 클래스를 이용한 XML파일 읽기

Category:
Author: zemna
Date: April 17, 2021
Share this:

이번에는 XML파일을 XmlTextReader 클래스를 이용하여 읽는 방법에 대해 살펴보도록 하자.

읽고자하는 XML 파일


ZemnaAutoUpdater
Zemna Auto Updater
하하하하하
2009-02-27 오전 11:28:02


1.0.0
2009-02-27 오전 11:28:02
2009-02-27 오전 11:28:02
cadfasd

123.tx


위 파일을 읽는 코드는 아래와 같다.

XmlTextReader로 파일 읽기 샘플

List IDataProcessor.LoadList(string filePath)
{
// 데이터를 저장 할 변수 선언
List listPrg = null;

int piIdx = 0;  // Last ProgramInfo Index
int viIdx = 0; // Last VersionInfo Index

XmlTextReader reader = new XmlTextReader(filePath);

// 공백을 처리하지 않음
reader.WhitespaceHandling = WhitespaceHandling.None;

while (reader.Read())
{
reader.MoveToContent();

if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.Name)
{
case "Program":
if (listPrg == null)
listPrg = new List();
ProgramInfo pi = new ProgramInfo();
listPrg.Add(pi);
piIdx = listPrg.Count - 1;
break;
case "ID":
listPrg[piIdx].ID = reader.ReadString();
break;
case "Name":
listPrg[piIdx].Name = reader.ReadString();
break;
case "Contents":
listPrg[piIdx].Contents = reader.ReadString();
break;
case "RegistrationDate":
if (reader.Depth == 2)
listPrg[piIdx].RegistrationDate = Convert.ToDateTime(reader.ReadString());
else
listPrg[piIdx].Versions[viIdx].RegistrationDate = Convert.ToDateTime(reader.ReadString());
break;
case "Version":
if (listPrg[piIdx].Versions == null)
listPrg[piIdx].Versions = new List();
VersionInfo vi = new VersionInfo();
listPrg[piIdx].Versions.Add(vi);
viIdx = listPrg[piIdx].Versions.Count - 1;
break;
case "VersionNo":
listPrg[piIdx].Versions[viIdx].VersionNo = reader.ReadString();
break;
case "EditDate":
listPrg[piIdx].Versions[viIdx].EditDate = Convert.ToDateTime(reader.ReadString());
break;
case "FolderPath":
listPrg[piIdx].Versions[viIdx].FolderPath = reader.ReadString();
break;
case "File":
if (listPrg[piIdx].Versions[viIdx].FileList == null)
listPrg[piIdx].Versions[viIdx].FileList = new List();
listPrg[piIdx].Versions[viIdx].FileList.Add(reader.ReadString());
break;
}
}
}

reader.Close();

return listPrg;

}

Share this:

Leave a Reply

Your email address will not be published.

ZEMNA.NET

Professional software development agency estalished in Indonesia. We offers website setup, web application development, fulfillment service, and etc.
Follow us
Follow us to get latest news and tutorials.
2022 - Copyright, All Rights Reserved, Made by ZEMNA.NET with ❤️
magnifiercrossmenu