[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 형식으로 저장하고 다른 응용 프로그램과 데이터를 교환하는 등의 작업을 보다 용이하게 수행할 수 있습니다.
참고문헌:
- https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/xml-serialization