[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 데이터를 객체로 변환할 수 있습니다.

참고 문서: