This documentation is archived and is not being maintained.

XmlSerializer Constructor (Type)

Initializes a new instance of the XmlSerializer class that can serialize objects of the specified type into XML documents, and deserialize XML documents into objects of the specified type.

Namespace:  System.Xml.Serialization
Assembly:  System.Xml (in System.Xml.dll)

public XmlSerializer(
	Type type


Type: System.Type
The type of the object that this XmlSerializer can serialize.

Commonly, an application defines several classes that the XmlSerializer converts into a single XML-instance document. However, the XmlSerializer must know only one type--the type of the class that represents the XML root element. The XmlSerializer automatically serializes all subordinate class instances. Similarly, only the type of the XML root element is required for deserialization.

The following example constructs an XmlSerializer that serializes an object named Widget. The example sets various properties of the object before calling the Serialize method.

private void SerializeObject(string filename)
   XmlSerializer serializer = 
   new XmlSerializer(typeof(OrderedItem));

   // Create an instance of the class to be serialized.
   OrderedItem i = new OrderedItem();

   // Set the public property values.
   i.ItemName = "Widget";
   i.Description = "Regular Widget";
   i.Quantity = 10;
   i.UnitPrice = (decimal) 2.30;

   // Writing the document requires a TextWriter.
   TextWriter writer = new StreamWriter(filename);

   // Serialize the object, and close the TextWriter.
   serializer.Serialize(writer, i);

// This is the class that will be serialized.
public class OrderedItem
   public string ItemName;
   public string Description;
   public decimal UnitPrice;
   public int Quantity;

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

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.