.NET Framework에서는 XML을 쉽게 기록할 수 있도록 XmlTextWriter 클래스를 제공하고 있다. 이 XmlTextWriter 클래스는 속도가 빠르고, 캐시되지 않으며, 앞으로만 이동 가능한 방법을 제공한다.
아래는 XmlTextWriter 클래스를 사용한 예제이다.
XmlTextWriter 사용 예제
[code lang="csharp"] void IDataProcessor.SaveList(List programList, string filePath) { XmlTextWriter writer = new XmlTextWriter(filePath, null);
// 자식요소에 따라 들여쓰기하기 writer.Formatting = Formatting.Indented;
writer.WriteStartDocument();
writer.WriteComment("This file stores application version list");
// writer.WriteStartElement("Programs");
for (int i = 0; i < programList.Count; i++) { // writer.WriteStartElement("Program");
// writer.WriteElementString("ID", programList[i].ID);
// writer.WriteElementString("Name", programList[i].Name);
// writer.WriteElementString("Contents", programList[i].Contents);
// writer.WriteElementString("RegistrationDate", programList[i].RegistrationDate.ToString());
// writer.WriteStartElement("Versions");
for (int j = 0; j < programList[i].Versions.Count; j++) { // writer.WriteStartElement("Version");
// writer.WriteElementString("VersionNo", programList[i].Versions[j].VersionNo);
// writer.WriteElementString("RegistrationDate", programList[i].Versions[j].RegistrationDate.ToString());
// writer.WriteElementString("EditDate", programList[i].Versions[j].EditDate.ToString());
// writer.WriteElementString("FolderPath", programList[i].Versions[j].FolderPath);
// writer.WriteStartElement("Files");
for (int k=0; k writer.WriteElementString("File", programList[i].Versions[j].FileList[k]); }
// writer.WriteEndElement();
// writer.WriteEndElement(); }
// writer.WriteEndElement();
// writer.WriteEndElement(); }
// writer.WriteEndElement();
writer.Flush(); writer.Close(); } [/code]
위의 형식대로 파일을 기록하게 되면 아래와 같은 구조의 XML 파일이 생성되게 된다.
생성된 XML 파일
[code lang="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 [/code]