Witam,
Mam problem z deserializacją pliku XML który dostałem. Problem polega na tym, że elemety "table" można rozróżnić tylko po atrybucie name.
Poniżej plik XML oraz dwie niedziałające wersje rozwiązania.
[Serializable()]
[System.Xml.Serialization.XmlRoot("dbsync", Namespace = "", IsNullable = false)]
public class DepositCollections
{
[System.Xml.Serialization.XmlArrayItem("table")]
[System.Xml.Serialization.XmlArray("items")]
[System.Xml.Serialization.XmlArrayItem("bk", typeof(Deposit))]
public List<Deposit> itemDeposit { get; set; }
[System.Xml.Serialization.XmlArrayItem("table")]
[System.Xml.Serialization.XmlArray("items")]
[System.Xml.Serialization.XmlArrayItem("bkd", typeof(DepositDenomination))]
public List<DepositDenomination> itemDepositDenomination { get; set; }
}
[Serializable()]
[System.Xml.Serialization.XmlRoot("dbsync", Namespace = "", IsNullable = false)]
public class DepositCollections
{
[System.Xml.Serialization.XmlElement("table")]
public List<ElementTableDeposit> itemDeposit { get; set; }
}
[Serializable()]
public class ElementTableDeposit
{
[System.Xml.Serialization.XmlAttribute("name")]
public string name { get; set; }
[System.Xml.Serialization.XmlArray("items")]
[System.Xml.Serialization.XmlArrayItem("bk", typeof(Deposit))]
public List<Deposit> deposit { get; set; }
/*
[System.Xml.Serialization.XmlArray("items")]
[System.Xml.Serialization.XmlArrayItem("bkd", typeof(DepositDenomination))]
public List<DepositDenomination> depositDenomination { get; set; }
*/
}
Pozdrawiam,
Zoritt