XmlIncludeAttribute.Type Property
.NET Framework 4
Gets or sets the type of the object to include.
Assembly: System.Xml (in System.Xml.dll)
The following example defines a class named Group, which contains a field named Employees that returns an array of Employee objects. The example derives the Manager class from the Employee class, and applies the XmlIncludeAttribute to the Employee class. When the example creates a Group object, it inserts a Manager object into the Employee array. Lastly, the example serializes the Group object.
using System; using System.IO; using System.Xml.Serialization; public class Group { public Employee[] Employees; } // Instruct the XmlSerializer to accept Manager types as well. [XmlInclude(typeof(Manager))] public class Employee { public string Name; } public class Manager:Employee { public int Level; } public class Run { public static void Main() { Run test = new Run(); test.SerializeObject("IncludeExample.xml"); test.DeserializeObject("IncludeExample.xml"); } public void SerializeObject(string filename) { XmlSerializer s = new XmlSerializer(typeof(Group)); TextWriter writer = new StreamWriter(filename); Group group = new Group(); Manager manager = new Manager(); Employee emp1 = new Employee(); Employee emp2 = new Employee(); manager.Name = "Zeus"; manager.Level = 2; emp1.Name = "Ares"; emp2.Name = "Artemis"; Employee [] emps = new Employee[3]{manager, emp1, emp2}; group.Employees = emps; s.Serialize(writer, group); writer.Close(); } public void DeserializeObject(string filename) { FileStream fs = new FileStream(filename, FileMode.Open); XmlSerializer x = new XmlSerializer(typeof(Group)); Group g = (Group) x.Deserialize(fs); Console.Write("Members:"); foreach(Employee e in g.Employees) { Console.WriteLine("\t" + e.Name); } } }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.