This documentation is archived and is not being maintained.

XmlSerializer Constructor (Type, String)

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. Specifies the default namespace for all the XML elements.

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

public XmlSerializer(
	Type type,
	string defaultNamespace


Type: System.Type
The type of the object that this XmlSerializer can serialize.
Type: System.String
The default namespace to use for all the XML elements.

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();

        // Insert code to set property values.

        // Writing the document requires a TextWriter.
        TextWriter writer = new StreamWriter(filename);
        // Serialize the object, and close the TextWriter
        serializer.Serialize(writer, i);

    private void DeserializeObject(string filename) {
        XmlSerializer serializer = new XmlSerializer
            (typeof(OrderedItem), "");
        // A FileStream is needed to read the XML document.
        FileStream fs = new FileStream(filename, FileMode.Open);

        // Declare an object variable of the type to be deserialized.
        OrderedItem i;

        // Deserialize the object.
        i = (OrderedItem) serializer.Deserialize(fs);

        // Insert code to use the properties and methods of the object.

.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.