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

C# で XML をオブジェクトのリストに逆シリアル化する方法

DDD
リリース: 2025-01-13 08:13:46
オリジナル
462 人が閲覧しました

How to Deserialize XML into a List of Objects in C#?

オブジェクト リストへの C# XML 逆シリアル化

場合によっては、XML をオブジェクトのリストなどの構造化データ形式に逆シリアル化する必要がある場合があります。この記事では、この特定の逆シリアル化を実現するための可能性と必要な手順について説明します。

次の XML を List<User> に変換する必要があるとします:

<code class="language-xml"><?xml version="1.0"?><user_list><user><id>1</id><name>Joe</name></user><user><id>2</id><name>John</name></user></user_list></code>
ログイン後にコピー

この変換を実装するには、XmlSerializer クラスを使用できます。ただし、XML の構造に適合させるには、少し変更する必要があります。 List<User> に直接逆シリアル化する代わりに、リストを含む中間クラスを使用します。

以下はラッパー クラスの実装例です:

<code class="language-csharp">[XmlRoot("user_list")]
public class UserList
{
    public UserList() { Items = new List<User>(); }
    [XmlElement("user")]
    public List<User> Items { get; set; }
}</code>
ログイン後にコピー

UserList クラスを使用すると、逆シリアル化プロセスが非常に簡単になります。

<code class="language-csharp">XmlSerializer ser = new XmlSerializer(typeof(UserList));
UserList list = new UserList();
list.Items.Add(new User { Id = 1, Name = "abc" });
list.Items.Add(new User { Id = 2, Name = "def" });
list.Items.Add(new User { Id = 3, Name = "ghi" });
ser.Serialize(Console.Out, list);</code>
ログイン後にコピー

この拡張リスト シリアル化は、XML を階層構造に逆シリアル化するための、よりクリーンでより一般的な方法を提供します。

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

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