gpt4 book ai didi

c# - 是否可以将 XML 反序列化为 List

转载 作者:IT王子 更新时间:2023-10-29 03:31:37 26 4
gpt4 key购买 nike

给定以下 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>

还有下面的类:

public class User {
[XmlElement("id")]
public Int32 Id { get; set; }

[XmlElement("name")]
public String Name { get; set; }
}

是否可以使用 XmlSerializer将 xml 反序列化为 List<User> ?如果是这样,我需要使用什么类型的附加属性,或者我需要使用什么附加参数来构造 XmlSerializer实例?

一个数组 ( User[] ) 是可以接受的,如果不太可取的话。

最佳答案

您可以简单地封装列表:

using System;
using System.Collections.Generic;
using System.Xml.Serialization;

[XmlRoot("user_list")]
public class UserList
{
public UserList() {Items = new List<User>();}
[XmlElement("user")]
public List<User> Items {get;set;}
}
public class User
{
[XmlElement("id")]
public Int32 Id { get; set; }

[XmlElement("name")]
public String Name { get; set; }
}

static class Program
{
static void Main()
{
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);
}
}

关于c# - 是否可以将 XML 反序列化为 List<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com