オブジェクトのXMLへのシリアライズ
C#のクラスを継承したものがあります。オブジェクトのビルドには成功しました。しかし、そのオブジェクトをXMLにシリアライズする必要があります。簡単にできる方法はありますか?
クラスはシリアル化のためにセットアップされているように見えますが、どうやってXML表現を得るのかわかりません。私のクラス定義は次のようなものです。
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.domain.com/test")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.domain.com/test", IsNullable = false)]
public partial class MyObject
{
...
}
以下は、私ができると思ったことですが、うまくいきません。
MyObject o = new MyObject();
// Set o properties
string xml = o.ToString();
このオブジェクトのXML表現を取得するにはどうしたらいいですか?
262
3
XMLのシリアル化には、XmlSerializerを使用する必要があります。以下にサンプルスニペットを示します。
オブジェクトをシリアル化するには、次のようにします。
また、XmlSerializerを動作させるには、パラメータなしのコンストラクタが必要であることも覚えておいてください。
この方法についての良いチュートリアルがあります。
基本的には、
System.Xml.Serialization.XmlSerializer
クラスを使って行うことになります。