C# XmlSerializer。在列表上反序列化<&燃气轮机;项目

C# XmlSerializer。在列表上反序列化<&燃气轮机;项目,c#,serialization,xmlserializer,C#,Serialization,Xmlserializer,我已经尝试了所有我能在某处和其他地方找到的解决方案,但似乎不明白为什么这不起作用 将XML字符串直接反序列化为对象,对象有一个属性-列表: [XmlTypeAttribute(AnonymousType = true)] public class UpdateData { [XmlArrayItem(ElementName = "Updates")] public List<Update> Updates { get; set; } public Updat

我已经尝试了所有我能在某处和其他地方找到的解决方案,但似乎不明白为什么这不起作用

将XML字符串直接反序列化为对象,对象有一个属性-列表:

[XmlTypeAttribute(AnonymousType = true)]
public class UpdateData
{
    [XmlArrayItem(ElementName = "Updates")]
    public List<Update> Updates { get; set; }

    public UpdateData()
    {
        Updates = new List<Update>();
    }

}

public class Update
{
    [XmlElement(ElementName = "MemberID")]
    public int MemberID { get; set; }

    [XmlElement(ElementName = "AnalysisID")]
    public int AnalysisID { get; set; }

    [XmlElement(ElementName = "MemberName")]
    public string MemberName { get; set; }

    [XmlElement(ElementName = "RecordDate")]
    public DateTime RecordDate { get; set; }
}
下面是XML:

<?xml version="1.0" encoding="utf-8" ?> 
<UpdateData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Updates>
        <Update>
            <MemberID>1</MemberID> 
            <AnalysisID>1</AnalysisID> 
            <MemberName>XXXXXXXXXXXXX</MemberName> 
        </Update>
        <Update>
            <MemberID>1</MemberID> 
            <AnalysisID>2</AnalysisID> 
            <MemberName>YYYYYYYYYYYYY</MemberName> 
        </Update>
        <Update>
            <MemberID>1</MemberID> 
            <AnalysisID>3</AnalysisID> 
            <MemberName>ZZZZZZZZZZZZ</MemberName> 
        </Update>
    </Updates>
</UpdateData>

1.
1.
XXXXXXXXXXXX
1.
2.
YYYYYYYYYY
1.
3.
ZZZZZZZZZZZZ

此代码编译并运行,并返回UpdateData类型的对象,但Updates属性为空。有什么想法吗?

尝试将列表中的属性更改为:

[XmlArray(ElementName="Updates")]
[XmlArrayItem(ElementName="Update")]
public List<Update> Updates { get; set; }
[XmlArray(ElementName=“Updates”)]
[XmlArrayItem(ElementName=“Update”)]
公共列表更新{get;set;}

谢谢你,布莱恩,我请客。。。把我的头撞在墙上。
[XmlArray(ElementName="Updates")]
[XmlArrayItem(ElementName="Update")]
public List<Update> Updates { get; set; }