C# 中使用 XmlSerializer 將對象序列化為 XML
本文介紹如何在 C# 中將對象轉換為 XML 表示形式。如果對像已配置為可序列化,則此過程非常簡單。本文將演示如何對類執行 XML 序列化,尤其是在繼承類的情況下,並討論泛型類序列化。
使用 XmlSerializer
要將對象序列化為 XML,需要使用 XmlSerializer
類。以下代碼片段演示如何序列化名為 o
的 MyObject
類型對象:
<code class="language-csharp">XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject)); MyObject subReq = new MyObject(); string xml = ""; using (var sww = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(sww)) { xsSubmit.Serialize(writer, subReq); xml = sww.ToString(); } }</code>
此代碼將創建 subReq
對象的 XML 表示形式,並將其賦值給 xml
變量。
泛型類序列化
如果需要序列化各種類的對象,可以創建一個封裝序列化邏輯的泛型類,如下所示:
<code class="language-csharp">public class MySerializer<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>
要使用此泛型類,只需調用 Serialize
方法並提供要序列化的對象:
<code class="language-csharp">string xmlMessage = MySerializer<MyClass>.Serialize(myObj);</code>
這種方法允許對不同類進行更靈活和可重用的序列化邏輯。
以上是如何使用XMLSerialializer將對象序列化到C#中的XML?的詳細內容。更多資訊請關注PHP中文網其他相關文章!