ホームページ >バックエンド開発 >C++ >XmlSerializer を使用して C# でオブジェクトを XML にシリアル化する方法

XmlSerializer を使用して C# でオブジェクトを XML にシリアル化する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-27 15:46:10348ブラウズ

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

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>
このコードは、

オブジェクトの XML 表現を作成し、それを subReq 変数に割り当てます。 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>

以上がXmlSerializer を使用して C# でオブジェクトを XML にシリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。