.NET フレームワークにはこれが組み込まれており、C# を使用すると、次のようになります。
// This code serializes a class instance to an XML file:
XmlSerializer xs = new XmlSerializer(typeof(objectToSerialize));
using (TextWriter writer = new StreamWriter(xmlFileName))
{
xs.Serialize(writer, InstanceOfObjectToSerialize);
}
このスニペットは、XML ファイルを逆シリアル化してクラス インスタンスに戻す方法の例です。
// this code creates a class instance from the file we just made:
objectToSerialize newObject;
XmlSerializer xs = new XmlSerializer(typeof(objectToSerialize));
using (TextReader reader = new StreamReader(xmlFileName))
{
newObject = (ObjectToSerialize) xs.Deserialize(reader);
}
これらを機能させるには、クラスを [Serializable] 属性でマークする必要があります。XML 出力をもう少しきれいにしたい場合は、クラス プロパティで [XmlElement] 属性と [XmlAttribute] 属性を使用して、選択したスキーマにシリアル化することができます。