[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 형식으로 쉽게 변환하고 저장하거나 전송할 수 있습니다.

참고 자료