.NET Framework Class Library
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)
Syntax

Visual Basic (Declaration)
Public Sub New ( _
    type As Type _
)
Visual Basic (Usage)
Dim type As Type

Dim instance As New XmlSerializer(type)
C#
public XmlSerializer(
    Type type
)
Visual C++
public:
XmlSerializer(
    Type^ type
)
JScript
public function XmlSerializer(
    type : Type
)

Parameters

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

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.

Examples

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.

Visual Basic
Private Sub SerializeObject(ByVal filename As String)
    Dim serializer As New XmlSerializer(GetType(OrderedItem))

    ' Create an instance of the class to be serialized.
    Dim i As New OrderedItem()

    ' Set the public property values.
    With i
        .ItemName = "Widget"
        .Description = "Regular Widget"
        .Quantity = 10
        .UnitPrice = CDec(2.3)
    End With

    ' Writing the document requires a TextWriter.
    Dim writer As New StreamWriter(filename)

    ' Serialize the object, and close the TextWriter.
    serializer.Serialize(writer, i)
    writer.Close()
End Sub


' This is the class that will be serialized.
Public Class OrderedItem
    Public ItemName As String
    Public Description As String
    Public UnitPrice As Decimal
    Public Quantity As Integer
End Class

C#
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);
   writer.Close();
}

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

Visual C++
private:
   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 );
      writer->Close();
   }

public:
   // This is the class that will be serialized.
   ref class OrderedItem
   {
   public:
      String^ ItemName;
      String^ Description;
      Decimal UnitPrice;
      int Quantity;
   };
CPP_OLD
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 = S"Widget";
   i->Description = S"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);
   writer->Close();
}

// This is the class that will be serialized.
public:
__gc class OrderedItem
{
public:
   String* ItemName;
   String* Description;
   Decimal UnitPrice;
   int Quantity;
};

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

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

.NET Compact Framework

Supported in: 3.5, 2.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
See Also

Reference

Other Resources

Tags :


Page view tracker