首頁 > 後端開發 > 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中文網其他相關文章!

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