Csharp/C#教程:XmlSerializer.Deserialize List 项目分享


XmlSerializer.Deserialize List 项目

我已经尝试了所有可以在SO和其他地方找到的解决方案,但似乎无法弄清楚为什么这不起作用。

将XML字符串直接反序列化为对象,该对象具有一个属性 – 一个List:

[XmlTypeAttribute(AnonymousType = true)] public class UpdateData { [XmlArrayItem(ElementName = "Updates")] public List Updates { get; set; } public UpdateData() { Updates = new List(); } } 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; } } 

这是反序列化代码:

 private object DeserialzeXml(string xml) { var xmlSer = new XmlSerializer(typeof(UpdateData), new XmlRootAttribute("UpdateData")); var stringReader = new StringReader(xml); return xmlSer.Deserialize(stringReader); } 

这是XML:

     1 1 XXXXXXXXXXXXX   1 2 YYYYYYYYYYYYY   1 3 ZZZZZZZZZZZZ    

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

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

上述就是C#学习教程:XmlSerializer.Deserialize List 项目分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 [XmlArray(ElementName="Updates")] [XmlArrayItem(ElementName="Update")] public List Updates { get; set; } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1026882.html

(0)
上一篇 2022年1月9日
下一篇 2022年1月9日

精彩推荐