繁体   English   中英

使用C#反序列化XML

[英]Deserializing XML using C#

我有这段XML,我试图反序列化它。 我已经尝试了以下类反序列化,但我没有得到地址行我只获得城市州和邮政编码。 有人可以指出我的错误吗? 我看不出我做错了什么。 XML和类就在下面。

XML:

         <RemitTo>
            <Address>
                <AddressLine lineNumber="1">Blah blah</AddressLine>
                <AddressLine lineNumber="2">bah bah bah</AddressLine>
                <AddressLine lineNumber="3">bah3</AddressLine>
                <City>Minneapolis</City>
                <State>MN</State>
                <PostalCode>55413</PostalCode>
                <Country isoCountryCode="US">United States</Country>
            </Address>
        </RemitTo>

类:

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

XmlArray不适用,因为我们已经在Address类中,并且子项周围没有其他包装元素。

参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM