asp.net – 如何使用多个嵌套项反序列化XML?
发布时间:2020-12-16 03:51:05 所属栏目:asp.Net 来源:网络整理
导读:我已经给出了我无法更改的 XML,我需要将其反序列化为自定义类: Person Addresses MainAddress Country / City / /MainAddress AdditionalAddress Country / City / /AdditionalAddress AdditionalAddress Country / City / /AdditionalAddress ... other ad
我已经给出了我无法更改的
XML,我需要将其反序列化为自定义类:
<Person> <Addresses> <MainAddress> <Country /> <City /> </MainAddress> <AdditionalAddress> <Country /> <City /> </AdditionalAddress> <AdditionalAddress> <Country /> <City /> </AdditionalAddress> ... other additional addresses </Addresses> ... other elements </Person> 然后我反序列化: XmlSerializer serializer = new XmlSerializer(typeof(Person),namespace); Person person = serializer.Deserialize(stream) as Person; 如果简单元素被反序列化,则反序列化器可以正常工作. 问题是reader.ReadElementContentAsString()不能与复杂元素一起使用. 解决方法
Adressess类应该以这种方式声明:
[XmlRoot("Adressess")] public class Adressess { [XmlElement(ElementName = "MainAddress")] public MainAddress Main { get; set; } [XmlElement(ElementName = "AdditionalAddress")] public List<AdditionalAddress> AdditionalAddresses { get; set; } } [XmlRoot("MainAddress")] public class MainAddress { public string Country { get; set; } public string City { get; set; } } [XmlRoot("AdditionalAddress")] public class AdditionalAddress { public string Country { get; set; } public string City { get; set; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读