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