Comment désérialiser un XML comme ceci, j'ai quelques problèmes avec le tableau de messages.C# xml deserilization
<EventSources>
<Source>
<Event>
<Id>9</Id>
<Message LcId="1033">Text9</Message>
<Message LcId="1031">Message 9</Message>
<Message LcId="1034">Text9</Message>
</Event>
<Event>
<Id>10</Id>
<Message LcId="1033">Text10</Message>
<Message LcId="1031">Message 10</Message>
<Message LcId="1034">Text10</Message>
</Event>
</Source>
</EventSources>
J'ai essayé de sérialisation ce code, mais la sortie ne correspond pas à
public class EventSources
{
#region Variables
private List<Event> _Source = new List<Event>();
#endregion
#region Properties
public List<Event> Source
{
get { return _Source; }
set { _Source = value; }
}
#endregion
public EventSources() { }
public void AddError(Event error)
{
_Source.Add(error);
}
}
public class Event
{
#region Variables
private int _Id;
private List<Message> _languageEntries = new List<Message>();
#endregion
#region Properties
[XmlElement()]
public int Id
{
get { return _Id; }
set { _Id = value; }
}
public List<Message> LanguageEntries
{
get { return _languageEntries; }
set { _languageEntries = value; }
}
#endregion
public Event() { }
public Event(int id)
{
_Id = Id;
}
public void Add(Message entry)
{
_languageEntries.Add(entry);
}
}
public class Message
{
#region Variables
private string _lang = string.Empty;
private string _text = string.Empty;
#endregion
#region Properties
[XmlAttribute("LcId")]
public string LcId
{
get { return _lang; }
set { _lang = value; }
}
[XmlText]
public string Text
{
get { return _text; }
set { _text = value; }
}
#endregion
public Message() { }
}
}
Sortie:
<EventSources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Source>
<Event>
<Id>5</Id>
<LanguageEntries>
<Message LcId="5">kjhfdkgdskfkgds</Message>
<Message LcId="554">kjhfskfkgds</Message>
</LanguageEntries>
</Event>
</Source>
<Messages />
</EventSources>