首頁 > 後端開發 > C++ > 如何使用XMLSerialializer將對象序列化到C#中的XML?

如何使用XMLSerialializer將對象序列化到C#中的XML?

Barbara Streisand
發布: 2025-01-27 15:46:10
原創
333 人瀏覽過

How to Serialize Objects to XML in C# Using XmlSerializer?

C# 中使用 XmlSerializer 將對象序列化為 XML

本文介紹如何在 C# 中將對象轉換為 XML 表示形式。如果對像已配置為可序列化,則此過程非常簡單。本文將演示如何對類執行 XML 序列化,尤其是在繼承類的情況下,並討論泛型類序列化。

使用 XmlSerializer

要將對象序列化為 XML,需要使用 XmlSerializer 類。以下代碼片段演示如何序列化名為 oMyObject 類型對象:

<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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板