You can remove the [XmlRoot(...)] attribute from the SubTemplate class. There are a few possible solutions: Using [XmlArray] and [XmlArrayItem] attributes: Add these attributes to the Accounts member of the TemplateClass: public class TemplateClass { [XmlArray("Accounts")] [XmlArrayItem("Account")] public List<SubTemplate> Accounts; } Using the [XmlType] attribute: You can use this attribute...