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

XmlSerializer を使用して C# オブジェクトを XML にシリアル化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-27 15:31:09
オリジナル
429 人が閲覧しました

How Can I Serialize a C# Object to XML Using XmlSerializer?

C# オブジェクトを XML にシリアル化する: XmlSerializer

を使用した完全なガイド

背景紹介

データの保存または転送のために XML 形式にシリアル化する必要がある複雑な C# オブジェクトがあります。オブジェクト自体はシリアル化の準備ができていますが、単純な 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート