C# 使用C语言反序列化XML#

C# 使用C语言反序列化XML#,c#,xml,serialization,C#,Xml,Serialization,我有这个XML片段,我正在尝试反序列化它。我尝试了下面的类来反序列化,但是我没有得到地址行,我只得到了城市状态和邮政编码。 有人能指出我的错误吗?我看不出我做错了什么。 XML和类就在下面 XML: 应该是这么简单 [XmlElement("AddressLine")] public List<string> AddressLine { get; set; } [XmlElement(“AddressLine”)] 公共列表地址行{get;set;} XmlArr

我有这个XML片段,我正在尝试反序列化它。我尝试了下面的类来反序列化,但是我没有得到地址行,我只得到了城市状态和邮政编码。 有人能指出我的错误吗?我看不出我做错了什么。 XML和类就在下面

XML:


应该是这么简单

    [XmlElement("AddressLine")]
    public List<string> AddressLine { get; set; }
[XmlElement(“AddressLine”)]
公共列表地址行{get;set;}
XmlArray
不适用,因为我们已经在
Address
类中,并且子项周围没有进一步的包装器元素


StuartLC我一定花了4个小时来解决这个问题。谢谢你抽出时间!。天哪,我觉得自己像个傻瓜**。非常受欢迎——我自己花了很多令人沮丧的时间试图将xml塑造成实体。当我陷入困境时,我倾向于使用XSL将xml预投影到更接近实体图的内容中。
[XmlRoot("RemitTo")]
    public partial class RemitTo
    {
        [XmlElementAttribute("Address")]
        public List<Address> RemitToAddress { get; set; }

    }

    public partial class Address
    {


        [XmlArray("Address")]
        [XmlArrayItem("AddressLine")]
        public List<string> AddressLine { get; set; }


        public string City { get; set; }
        public string State { get; set; }
        public string PostalCode { get; set; }
        public string Country { get; set; }
    }
RemitTo i;
XmlSerializer serializer = new XmlSerializer(typeof(RemitTo));
i = (RemitTo)serializer.Deserialize(addressReader);
    [XmlElement("AddressLine")]
    public List<string> AddressLine { get; set; }