Я пытаюсь десериализовать XML в объект C#, который имеет множество элементов того же типа. Я упростил содержание для ясности. Мой C# класс выглядит следующим образом:Deserialize XML в объект C# со списком
[XmlInclude(typeof(RootElement))]
[XmlInclude(typeof(Entry))]
[Serializable, XmlRoot("Form")]
public class DeserializedClass
{
public List<Entry> listEntry;
public RootElement rootElement { get; set; }
}
Затем я определяю классы въездных и RootElement следующим образом:
public class RootElement
{
public string rootElementValue1 { get; set; }
public string rootElementValue2 { get; set; }
}
public class Entry
{
public string entryValue1 { get; set; }
public string entryValue2 { get; set; }
}
И структура XML Я пытаюсь десериализацией выглядит так:
<Entry property="value">
<entryValue1>Data 1</entryValue1>
<entryValue2>Data 2</entryValue2>
<RootElement>
<rootElementValue1>Data 3</rootElementValue1>
<rootElementValue2>Data 4</rootElementValue2>
</RootElement>
<RootElement>
<rootElementValue1>Data 5</rootElementValue1>
<rootElementValue2>Data 6</rootElementValue2>
</RootElement>
</Entry>
Как вы можете видеть, будет несколько элементов RootElement, которые я хочу десериализовать в Список объектов C#. Для десериализации я использую следующее:
XmlSerializer serializer = new XmlSerializer(typeof(DeserializedClass));
using (StringReader reader = new StringReader(xml))
{
DeserializedClass deserialized = (DeserializedClass)serializer.Deserialize(reader);
return deserialized;
}
Любые идеи, как исправить это?
Удивительный! Отлично работает. – CorribView