C# 如何将不同的xml标记反序列化到单个列表中
我有这样的xmlC# 如何将不同的xml标记反序列化到单个列表中,c#,.net,xmlserializer,xml-deserialization,C#,.net,Xmlserializer,Xml Deserialization,我有这样的xml <root> <bosses> <boss>..some elements..</boss> <boss>..some elements..</boss> </bosses> <workers> <worker>..some elements..not the same as bosses</w
<root>
<bosses>
<boss>..some elements..</boss>
<boss>..some elements..</boss>
</bosses>
<workers>
<worker>..some elements..not the same as bosses</worker>
<worker>..some elements..</worker>
</workers>
</root>
public class Person
{
//properties common to both bosses and workers
}
public class Boss : Person
{
//some properties unique for bosses
}
public class Worker : Person
{
//some properties unique for workers
}
现在,我想做的是将xml反序列化为一个列表
,但坦率地说,我不知道如何做到这一点
通过这样做,我可以为老板和员工分别列出清单
[XmlElement("bosses")]
public List<Boss> Bosses { get; set; }
[XmlElement("workers")]
public List<Worker> Workers { get; set; }
解决方案:
[XmlElement(ElementName = "bosses", Type = typeof(Boss))]
[XmlElement(ElementName = "workers", Type = typeof(Worker))]
public List<Person> People { get; set; }
[xmlement(ElementName=“Boss”,Type=typeof(Boss))]
[xmlement(ElementName=“workers”,Type=typeof(Worker))]
公共列表人员{get;set;}
解决方案:
[XmlElement(ElementName = "bosses", Type = typeof(Boss))]
[XmlElement(ElementName = "workers", Type = typeof(Worker))]
public List<Person> People { get; set; }
[xmlement(ElementName=“Boss”,Type=typeof(Boss))]
[xmlement(ElementName=“workers”,Type=typeof(Worker))]
公共列表人员{get;set;}
查看XmlArray
和XmlArrayItem
属性快速方法是创建一个新的人员列表,并将这两个列表添加到此列表中。请发布您的解决方案作为您问题的答案并接受。查看XmlArray
和XmlArrayItem
属性快速方法是创建一个新的人员列表并将这两个列表都添加到此中。请将您的解决方案作为您问题的答案发布并接受。
[XmlElement(ElementName = "bosses", Type = typeof(Boss))]
[XmlElement(ElementName = "workers", Type = typeof(Worker))]
public List<Person> People { get; set; }