Да, но вы должны поиграть с атрибутами XmlElement, XmlRoot и XmlArray.
Каждый тип нуждается в собственном имени элемента.
РЕДАКТИРОВАТЬ: Пример кода. Все классы являются производными от общего базового класса.
Вот пример кода:
[XmlRoot(ElementName="Root")]
public sealed class SomeObject
{
private BaseObject _Object;
[XmlElement(Type=typeof(App.Projekte.Projekt), ElementName="Projekt")]
[XmlElement(Type=typeof(App.Projekte.Task), ElementName="Task")]
[XmlElement(Type=typeof(App.Projekte.Mitarbeiter), ElementName="Mitarbeiter")]
public BaseObject Object
{
get
{
return _Object;
}
set
{
_Object = value;
}
}
}
РЕДАКТИРОВАТЬ: удалить атрибут сериализации, поскольку он не нужен (но необходим в моем проекте, откуда код)