XmlSerializer
的完整指南背景介紹
您有一個複雜的 C# 對象,需要將其序列化為 XML 格式以進行資料儲存或傳輸。雖然物件本身已做好序列化準備,但簡單的 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中文網其他相關文章!