클래스를 XML로 직렬화 및 역직렬화

래스를 XML로 직렬화 및 역직렬화해야 하는 경우 이 인터페이스를 구현한다.

인터페이스에는 스키마 정보를 제공하고 XML 데이터를 읽고 써야 하는

GetSchema(), ReadXml() 및 WriteXml() 메서드의 구현이 필요하다.

public class MyXmlSerializable : IXmlSerializable
{
    private int value;

    public MyXmlSerializable(int value)
    {
        this.value = value;
    }

    public XmlSchema GetSchema()
    {
        return null;
    }

    public void ReadXml(XmlReader reader)
    {
        value = int.Parse(reader.ReadElementContentAsString());
    }

    public void WriteXml(XmlWriter writer)
    {
        writer.WriteValue(value);
    }
}

이 예제에서 MyXmlSerializable 클래스는 IXmlSerializable 인터페이스를 구현하여 XML로 직렬화 및

역직렬화할 수 있도록 합니다.

GetSchema, ReadXmlWriteXml 메서드는 스키마 정보를 제공하고 XML 데이터를 읽고 씁니다.