Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将不同的xml标记反序列化到单个列表中_C#_.net_Xmlserializer_Xml Deserialization - Fatal编程技术网

C# 如何将不同的xml标记反序列化到单个列表中

C# 如何将不同的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

我有这样的xml

<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; }