我上课了 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)