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)

XmlSerializer (
	Type^ type
public XmlSerializer (
	Type type
public function XmlSerializer (
	type : 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 a simple object named Widget. The example sets various properties of the object before calling the Serialize method.

   void SerializeObject( String^ filename )
      XmlSerializer^ serializer =
         gcnew XmlSerializer( OrderedItem::typeid );

      // Create an instance of the class to be serialized.
      OrderedItem^ i = gcnew 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 = gcnew StreamWriter( filename );

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

   // This is the class that will be serialized.
   ref class OrderedItem
      String^ ItemName;
      String^ Description;
      Decimal UnitPrice;
      int Quantity;

private void SerializeObject(String filename)
    XmlSerializer serializer =
        new XmlSerializer(OrderedItem.class.ToType());

    // 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 = Convert.ToDecimal(2.3);

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

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

// This is the class that will be serialized.
public class OrderedItem
    public String itemName;
    public String description;
    public System.Decimal unitPrice;
    public int quantity;
} //OrderedItem

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0

Community Additions