XmlSerializer.Deserialize sur un élément de la liste

J’ai essayé toutes les solutions que j’ai pu trouver sur SO et ailleurs, mais je n’arrive pas à comprendre pourquoi cela ne fonctionne pas.

sérialisation directe d’une chaîne XML en un object, l’object a une propriété – une liste:

[XmlTypeAtsortingbute(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 ssortingng MemberName { get; set; } [XmlElement(ElementName = "RecordDate")] public DateTime RecordDate { get; set; } } 

Voici le code de désérialisation:

 private object DeserialzeXml(ssortingng xml) { var xmlSer = new XmlSerializer(typeof(UpdateData), new XmlRootAtsortingbute("UpdateData")); var ssortingngReader = new SsortingngReader(xml); return xmlSer.Deserialize(ssortingngReader); } 

Et voici le XML:

     1 1 XXXXXXXXXXXXX   1 2 YYYYYYYYYYYYY   1 3 ZZZZZZZZZZZZ    

Ce code est compilé et exécuté et renvoie un object de type UpdateData, mais la propriété Updates est vide. Des idées?

Essayez de changer les atsortingbuts de votre liste pour ceci:

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