[c#] C# XML 역직렬화
XML은 데이터를 저장하고 전송하기 위해 널리 사용되는 형식입니다. C#에서 XML을 역직렬화하여 객체로 변환하는 방법을 알아보겠습니다.
1. XML 직렬화
먼저, XML을 역직렬화하기 전에 해당 데이터를 XML로 직렬화해야 합니다. 아래는 XML 직렬화하는 예제 코드입니다.
using System;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
static void Main()
{
Person person = new Person { Name = "John", Age = 30 };
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StreamWriter writer = new StreamWriter("person.xml"))
{
serializer.Serialize(writer, person);
}
}
}
위 코드를 실행하면 “person.xml” 파일이 생성되고, 다음과 같은 내용이 포함됩니다.
<?xml version="1.0"?>
<Person>
<Name>John</Name>
<Age>30</Age>
</Person>
2. XML 역직렬화
이제 XML 데이터를 역직렬화하여 C# 객체로 변환해 보겠습니다.
using System;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
static void Main()
{
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StreamReader reader = new StreamReader("person.xml"))
{
Person person = (Person)serializer.Deserialize(reader);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
}
}
위 코드에서 XmlSerializer.Deserialize
메서드를 사용하여 “person.xml” 파일의 내용을 읽고, 이를 Person 객체로 역직렬화합니다.
이제 위 코드를 실행하면 콘솔에 “Name: John, Age: 30”이 출력됩니다.
이렇게 C#에서 XML 역직렬화를 사용하여 XML 데이터를 객체로 변환할 수 있습니다.
참고 문서:
- Microsoft Docs: XML 직렬화 및 역직렬화
- C# XML 직렬화 및 역직렬화 예제: C# XML Serialization and Deserialization with Examples