Давайте начнем с удаления любого понятия, что это может быть дубликатом Как читать XML-документ в ядре MVC (1.0.0)? , который рассматривает только эту структуру, тривиально выражаемую как things: thing[]
.
<things>
<thing>..</thing>
<thing>..</thing>
<thing>..</thing>
…
</things>
Этот вопрос о том, как выразить следующее как классы.
<things>
<a>..</a>
<b>..</b>
<c>..</c>
<d>..</d>
<d>..</d>
<d>..</d>
…
</things>
Это абсолютно , а не массив.Это , возможно, словарь, но нам явно запрещено использовать IDictionary<T1,T2>
с XmlSerializer
.
Обычно я начинаю с классов и позволяю XmlSerializer сообщать мне формат XML, но этоXML определяется системой вне моего контроля.
Сложность проблемы заключается в том, что строка является запечатанным классом, поэтому вы не можете наследовать ее, что делает невозможным ее псевдоним с целью именования.поля.
Как десериализовать узел со смешанными повторяющимися и неповторяющимися дочерними узлами?