XmlSerializer
背景紹介
データの保存または転送のために XML 形式にシリアル化する必要がある複雑な C# オブジェクトがあります。オブジェクト自体はシリアル化の準備ができていますが、単純な ToString()
メソッドは XML 表現を直接生成できません。
問題と解決策
XmlSerializer
クラスは、この問題を解決するための理想的なツールです。次のコードは、その使用方法を示しています:
<code class="language-csharp">// 创建对象并设置属性 MyObject o = new MyObject(); // ... // 使用 XmlSerializer 将对象序列化为 XML XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject)); string xml; using (StringWriter sww = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(sww)) { xsSubmit.Serialize(writer, o); xml = sww.ToString(); // XML 数据存储在 xml 变量中 } }</code>
一般的なシリアル化方法
さまざまなタイプのオブジェクトをより便利に処理するために、一般的なシリアル化メソッドを使用できます。
<code class="language-csharp">public class GenericSerializer<T> where T : class { public static string Serialize(T obj) { XmlSerializer xsSubmit = new XmlSerializer(typeof(T)); using (var sww = new StringWriter()) { using (XmlTextWriter writer = new XmlTextWriter(sww) { Formatting = Formatting.Indented }) { xsSubmit.Serialize(writer, obj); return sww.ToString(); } } } }</code>
使用方法:
<code class="language-csharp">// 序列化 MyClass 对象 string xmlMessage = GenericSerializer<MyClass>.Serialize(myObj);</code>
上記の方法を使用すると、さまざまなアプリケーション シナリオに合わせて、さまざまな C# オブジェクトを整形式の XML に簡単にシリアル化できます。
以上がXmlSerializer を使用して C# オブジェクトを XML にシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。