У меня есть XML-фрагмент, который выглядит следующим образом:Обработка нескольких полей с одним XML-тег в C# XmlSerializer
<object>
<field name="p1">Foo</field>
<field name="p2">Bar</field>
<field_list name="p3">
<field_value>Me</field_value>
<field_value>Myself</field_value>
<field_value>I</field_value>
</field_list>
</object>
То, что я хотел бы сделать, это представить это в C# как словарь - ключи имена (p1, p2, p3), а значения представляют собой список строк - первые два (p1, p2) будут иметь один элемент, а третий (p3) будет иметь три элемента.
Этот документ Xml необходимо де-сериализовать. Как я могу это сделать и в конечном итоге с желаемым объектом?
словарь не допускает повторного использования одного и того же ключа (т.е. ключ "p3" может отображаться только один раз), поэтому вам нужно будет определить его как словарь (или некоторый вариант IEnumerable ), чтобы поддерживать ваши данные. И учитывая, что Словарь не является сериализуемым (поскольку @akton прекрасно выглядит ниже), я не уверен, что это ваш лучший выбор. –
A NameValueCollection позволит использовать повторяющиеся значения ключа, но я думаю, что он имеет похожие проблемы с сериализацией в словарь. –