안녕하세요. IT김군입니다.


오늘은 C#으로 Xml 파일 생성 및 읽어오기에 대해 메모해보겠습니다.


기본적인 내용이라 계층 구조 등은 따로 구글링하여 작업해주셔야 할 것 같습니다.

using System.Xml;
using System.IO;


먼저 Xml을 생성하고 Node를 생성 후 값을 넣는 부분입니다.

string xmlFilePath = "D:/";
 try
{
        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Indent = true;
        settings.NewLineOnAttributes = true;
        XmlWriter xmlWriter = XmlWriter.Create(sFilePath + "/TestXml.xml");
        xmlWriter.WriteStartDocument();

        xmlWriter.WriteStartElement("root");
        xmlWriter.WriteElementString("Node1", "Value1");
        xmlWriter.WriteElementString("Node2", "Value2");
        xmlWriter.WriteEndDocument();

        xmlWriter.Flush();
        xmlWriter.Close();
}
catch (Exception except)
{
         Console.WriteLine(except.Message);
 }



아래는 생성했던 Xml파일을 읽어오는 부분입니다.

string xmlNodeName = "";
string xmlValue = "";
string xmlFilePath = "D:/";

try
{
     if (File.Exists(xmlFilePath + "/TestXml.xml"))   //  경로에 xml 파일이 있는지 체크
     {
          XmlTextReader xmlReadData = new XmlTextReader(xmlFilePath + "/TestXml.xml");    //  xml Open
          while (xmlReadData.Read())
          {
    		 if (xmlReadData.NodeType == XmlNodeType.Element)
			 {
	              switch (xmlReadData.Name.ToUpper().Trim())
				  {
		             case "NODE1": 
                                       xmlNodeName = xmlReadData.ReadString().ToString().Trim(); 
                                       break;
		             case "NODE2": 
                                       xmlValue = xmlReadData.ReadString().ToString().Trim(); 
                                       break;
				   }
		      }
           }
	        xmlReadData.Close();
	  }
      else // 해당 경로에 xml 파일이 없을 때
	  { 
	      Console.WriteLine("@@ Xml 존재하지 않음");            
	  }   
}
catch (Exception except)
{
	  Console.WriteLine(except.Message);
}

Console.WriteLine("@@ Product : " + xmlNodeName);
Console.WriteLine("@@ Worker : " + xmlValue);


도움이 되셨으면 좋겠습니다.


감사합니다.



WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,