首页 > 后端开发 > 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板