[c#] XML 직렬화
C#에서는 XML 직렬화를 사용하여 객체를 XML 형식으로 변환할 수 있습니다. 이것은 데이터를 파일에 저장하거나 네트워크를 통해 전송하는 데 유용합니다. 아래는 간단한 예제 코드로 작성된 객체를 XML로 직렬화하고 다시 역직렬화하는 프로세스를 보여줍니다.
1. 직렬화 클래스 작성
먼저, 직렬화할 수 있는 클래스를 작성해야 합니다. 이 클래스는 XML로 직렬화하고자 하는 객체를 나타냅니다.
using System;
using System.IO;
using System.Xml.Serialization;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
// 객체 생성
Person person = new Person { Name = "홍길동", Age = 30 };
// XML 직렬화
XmlSerializer serializer = new XmlSerializer(typeof(Person));
StringWriter writer = new StringWriter();
serializer.Serialize(writer, person);
string xmlString = writer.ToString();
Console.WriteLine(xmlString); // 직렬화된 XML 출력
}
}
2. 역직렬화 클래스 작성
객체를 XML로 직렬화하고 나중에 이를 역직렬화하여 객체로 다시 변환할 수 있습니다.
public class Program
{
public static void Main()
{
// XML 역직렬화
string xmlString = "<Person><Name>홍길동</Name><Age>30</Age></Person>";
XmlSerializer serializer = new XmlSerializer(typeof(Person));
StringReader reader = new StringReader(xmlString);
Person deserializedPerson = (Person)serializer.Deserialize(reader);
// 역직렬화된 객체 출력
Console.WriteLine($"이름: {deserializedPerson.Name}, 나이: {deserializedPerson.Age}");
}
}
결론
이러한 방식으로 C#에서 XML 직렬화와 역직렬화를 수행할 수 있습니다. 이를 통해 객체를 XML 형식으로 쉽게 변환하고 저장하거나 전송할 수 있습니다.
참고 자료
- Microsoft Docs. “XML Serialization in .NET” https://docs.microsoft.com/en-us/dotnet/standard/serialization/xml-serialization