[c#] C#에서의 XML 직렬화 방법

C#에서 XML 직렬화는 객체를 XML 형식으로 변환하는 프로세스입니다. 이를 통해 데이터를 파일에 저장하거나 네트워크를 통해 전송하는 등의 작업을 수행할 수 있습니다. C#에서 XML 직렬화를 하는 방법에 대해 알아보겠습니다.

1. 직렬화 어트리뷰트 사용하기

C#에서는 System.Xml.Serialization 네임스페이스를 사용하여 XML 직렬화를 지원합니다. 클래스에 [Serializable] 어트리뷰트를 추가하여 직렬화할 수 있도록 지정할 수 있습니다.

using System;
using System.Xml.Serialization;

[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

2. XmlSerializer 클래스 활용하기

XmlSerializer 클래스를 사용하여 객체를 XML로 직렬화하고 역직렬화할 수 있습니다.

using System;
using System.IO;
using System.Xml.Serialization;

public class Program
{
    public static void Main()
    {
        Person person = new Person { Name = "John", Age = 30 };

        XmlSerializer xmlSerializer = new XmlSerializer(typeof(Person));
        StringWriter sw = new StringWriter();
        xmlSerializer.Serialize(sw, person);
        string xml = sw.ToString();

        Console.WriteLine(xml);
    }
}

이 예제에서는 XmlSerializer를 사용하여 Person 객체를 XML로 직렬화하고 출력합니다.

3. 속성 제어하기

XmlSerializer를 사용할 때 일부 속성을 제어할 수 있습니다. XmlIgnore 어트리뷰트를 사용하여 일부 속성을 제외하거나, XmlElement 어트리뷰트를 사용하여 XML 요소의 이름을 지정할 수 있습니다.

[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    [XmlIgnore]
    public string Address { get; set; }

    [XmlElement("BirthYear")]
    public int YearOfBirth { get; set; }
}

C#에서 XML 직렬화를 통해 데이터를 XML 형식으로 저장하고 다른 응용 프로그램과 데이터를 교환하는 등의 작업을 보다 용이하게 수행할 수 있습니다.

참고문헌: