相关疑难解决方法(0)

XmlSerializer列表项元素名称

我上课了 PersonList

[XmlRoot("Persons")]
PersonList : List<Human>
Run Code Online (Sandbox Code Playgroud)

当我将其序列化为XML时,默认情况下会生成如下内容:

<Persons>
  <Human>...</Human>
  <Human>...</Human>
</Persons>
Run Code Online (Sandbox Code Playgroud)

我的问题是需要以改变元素做什么Human,以Person输出?所以输出将是:

<Persons>
  <Person>...</Person>
  <Person>...</Person>
</Persons>
Run Code Online (Sandbox Code Playgroud)

并且,如何将上述XML反序列化为PersonList类对象?

Per Nick的建议,这是我的测试代码:

[XmlRoot("Persons")]
public class Persons : List<Human>
{

}

[XmlRoot("Person")]
public class Human
{
    public Human()
    {
    }

    public Human(string name)
    {
        Name = name;
    }

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

}

void TestXmlSerialize()
{
    Persons personList = new Persons();
    personList.Add(new Human("John"));
    personList.Add(new Human("Peter"));

    try
    {
        using (StringWriter writer = new StringWriter())
        { …
Run Code Online (Sandbox Code Playgroud)

c# xmlserializer

37
推荐指数
3
解决办法
6万
查看次数

标签 统计

c# ×1

xmlserializer ×1