XmlSerializer
does not work with interfaces. So you can:
Convert interface to abstract class and then use XmlIncludeAttribute
for it or provide KnownTypes to XmlSerializer
or
Implement IXmlSerializable
for the parent type
or
Consider using DataContractSerializer from .NET 3.0