ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C# XML 파일 읽기/쓰기
    닷넷/C# 2023. 3. 28. 16:42
    반응형

    C#에서 XML 파일을 읽고 쓰는 방법은 여러 가지가 있습니다.

    다음은 각 방법과 코드 예시입니다.

     

    1. XmlReader를 사용하여 XML 파일을 읽고 쓰는 방법

    1) XML 파일 읽기

    (1) XmlReader를 사용하여 XML 파일을 읽습니다.

    using System.Xml;
    
    XmlReader xmlReader = XmlReader.Create("file.xml");

     

     

    (2) XmlReader에서 필요한 데이터를 읽습니다.

    while (xmlReader.Read())
    {
        if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "node")
        {
            // Do something with the data
        }
    }

     

    (3) XMLReader를 닫습니다.

    xmlReader.Close();
     

     

    2) XML 파일 쓰기

    (1) XmlWriter를 사용하여 XML 파일을 생성합니다.

    using System.Xml; 
    
    XmlWriter xmlWriter = XmlWriter.Create("file.xml");

     

    (2) XmlWriter에 데이터를 작성합니다.

    xmlWriter.WriteStartElement("root");
    
    xmlWriter.WriteStartElement("node");
    xmlWriter.WriteString("Data");
    xmlWriter.WriteEndElement();
    
    xmlWriter.WriteEndElement();

     

    (3) XmlWriter를 닫습니다.

    xmlWriter.Close();

     

     

    2. LINQ to XML을 사용하여 XML 파일을 읽고 쓰는 방법

    1) XML 파일 읽기

    (1) XDocument.Load()를 사용하여 XML 파일을 로드합니다.

    using System.Xml.Linq;
    
    XDocument doc = XDocument.Load("file.xml");

     

    (2) LINQ 쿼리를 사용하여 읽으려는 XML 데이터를 쿼리합니다.

    IEnumerable<XElement> nodes = from node in doc.Descendants("node")
                                  where (string)node.Attribute("id") == "1"
                                  select node;

     

     

    (3) 이후 데이터를 사용합니다.

     

    2) XML 파일 쓰기

    (1) XElement를 사용하여 XML 문서를 작성합니다.

    XElement root = new XElement("root",
        new XElement("node",
            new XAttribute("id", "1"),
            "Data"
        )
    );

     

    (2) XDocument 객체를 만들고, XElement를 추가합니다.

    XDocument doc = new XDocument(root);

     

    (3) XDocument.Save()를 사용하여 XML 파일을 저장합니다.

    doc.Save("file.xml");

     

     

    3. XmlDocument를 사용하여 XML 파일을 읽고 쓰는 방법

    1) XML 파일 읽기

    (1) XmlDocument.Load()를 사용하여 XML 파일을 로드합니다.

    using System.Xml;
    
    XmlDocument doc = new XmlDocument();
    doc.Load("file.xml");
     

    (2) XmlNode.SelectNodes() 또는 XmlNode.SelectSingleNode()를 사용하여 XML 데이터를 선택합니다.

    XmlNodeList nodes = doc.SelectNodes("//node[@id='1']");

     

    (3) 이후 읽은 데이터를 사용합니다.

     

    2) XML 파일 쓰기

    (1) XmlDocument.CreateElement() 및 XmlDocument.CreateTextNode() 등의 메서드를 사용하여 XML 요소 및 노드를 만듭니다.

    XmlDocument doc = new XmlDocument();
    XmlElement root = doc.CreateElement("root");
    XmlElement node = doc.CreateElement("node");
    XmlAttribute idAttribute = doc.CreateAttribute("id");
    idAttribute.Value = "1";
    node.Attributes.Append(idAttribute);
    node.AppendChild(doc.CreateTextNode("Data"));
    root.AppendChild(node);
    doc.AppendChild(root);

     

    (2) XmlDocument.Save()를 사용하여 XML 파일을 저장합니다.

    doc.Save("file.xml");
    반응형

    댓글

Designed by Tistory.