(этот ответ предшествует редактированию, в котором разъясняется, что DataContractSerializer желателен)
Если я правильно понимаю пример, то, как показано ниже.Примечание: другие атрибуты не наносят вреда, но не используются XmlSerializer - я только показал те, которые используются XmlSerializer.
[XmlRoot("Responses")]
public class TxTNotifyResponse : DataContainer
{
[XmlArray("ResponseList")]
[XmlArrayItem("Response")]
public MsgResponseCollection MsgResponseList { get; set; }
}
public class MsgResponse : DataContainer
{
[XmlElement("Foo")]
public string Status { get; set; }
[XmlElement("Bar")]
public string MessageId { get; set; }
}
public class MsgResponseCollection : List<MsgResponse>
{
}
Если это не работает (и я не проверял это), попробуйте использовать отдельную модель DTO.Самый простой способ - поместить данные в XML-файл (скажем, your.xml) и использовать (в командной строке):
xsd.exe your.xml
xsd.exe your.xsd /classes
, который будет записывать your.cs