XmlSerializer Constructor (Type)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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;

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top