ホームページ >バックエンド開発 >C++ >C# オブジェクトを XML 文字列にシリアル化するにはどうすればよいですか?

C# オブジェクトを XML 文字列にシリアル化するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-27 15:41:08442ブラウズ

How Can I Serialize C# Objects to XML Strings?

C# オブジェクトから XML 文字列へのシリアル化

C# オブジェクトを XML 文字列表現に変換する必要がありますか? このガイドでは、XmlSerializer クラスを使用して C# オブジェクトを XML に効果的にシリアル化する方法を説明します。

これが簡単な方法です:

<code class="language-csharp">XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject));
MyObject subReq = new MyObject();
string xml = "";

using (StringWriter sww = new StringWriter())
{
    using (XmlWriter writer = XmlWriter.Create(sww))
    {
        xsSubmit.Serialize(writer, subReq);
        xml = sww.ToString(); // XML string is now in the 'xml' variable
    }
}</code>

このコード スニペットは、MyObject インスタンスを 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 (StringWriter sww = new StringWriter())
        {
            using (XmlTextWriter writer = new XmlTextWriter(sww) { Formatting = Formatting.Indented })
            {
                xsSubmit.Serialize(writer, obj);
                return sww.ToString();
            }
        }
    }
}</code>

この汎用メソッドにより、あらゆるクラス型のシリアル化が可能になります。 使用例:

<code class="language-csharp">string xmlMessage = MySerializer<MyClass>.Serialize(myObj);</code>

このアプローチは、C# オブジェクトを XML 文字列に変換するためのクリーンで効率的なソリューションを提供します。 運用環境では、潜在的な例外を適切に処理することを忘れないでください。

以上がC# オブジェクトを XML 文字列にシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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