-
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");
반응형'닷넷 > C#' 카테고리의 다른 글
C# 시간 계산 두 번 째 (TimeSpan, DateTimeOffset) (0) 2023.04.06 C# JSON 파일 읽기/쓰기 (Deserialize/Serialize) (0) 2023.04.04 C# 계산오류? 부동 소수점에 대해 알아보자 (0) 2023.03.02 C# URL 파라미터 인코딩 방법 (특수문자가 있는 경우에 사용) (0) 2022.10.19 Convert a string to an enum in C# (0) 2022.05.10