Я новичок (день 2) в c #, поэтому заранее прошу прощения, если моя терминология немного не подходит.
Рассмотрим следующие модели XML и классов:
<Page label="Page 1.1">
<Group label="Group 1.1.1"></Group>
<Group label="Group 1.1.2"></Group>
<Text label="Text 1.1.1"></Text>
<Text label="Text 1.1.2"></Text>
</Page>
public class AbstractElementModel
{
[XmlAttributeAttribute()]
public string label;
}
[Serializable]
public class Page:AbstractElementModel
{
[XmlArrayItem(typeof(Group)),
XmlArrayItem(typeof(Text))]
public AbstractElementModel[] content;
}
(модели групп и текста не показаны, в данном примере это пустые классы, расширяющие AbstractElementModel)
Я хотел бы иметь возможность помещать любые экземпляры группы или текста в список содержимого.Тем не менее, когда XML-документ десериализован, содержимое имеет значение null.Я заметил, что это работает, если я структурирую XML следующим образом:
<Page label="Page 1.1">
<content>
<Group label="Group 1.1.1"></Group>
<Group label="Group 1.1.2"></Group>
<Text label="Text 1.1.1"></Text>
<Text label="Text 1.1.2"></Text>
</content>
</Page>
Однако мне нужно иметь возможность десерализовать структуру XML, как показано в первом примере.
Что такоелучший способ добиться этого?
Спасибо за ваше время!
edit
Обновлена структура XML, чтобы сделать проблему яснее.