DataContractSerializer.ReadObject Method (XmlDictionaryReader, Boolean)


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

Reads the XML stream with an XmlDictionaryReader and returns the deserialized object, and also specifies whether a check is made to verify the object name before reading its value.

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

public override object ReadObject(
	XmlDictionaryReader reader,
	bool verifyObjectName


Type: System.Xml.XmlDictionaryReader

The XmlDictionaryReader used to read the XML stream.

Type: System.Boolean

true to check whether the name of the object corresponds to the root name value supplied in the constructor; otherwise, false.

Return Value

Type: System.Object

The deserialized object.

Exception Condition

The verifyObjectName parameter is set to true, and the element name and namespace do not correspond to the values set in the constructor.

The following example reads an XML document and deserializes an instance of an object.

public static void ReadObject(string fileName)
    Console.WriteLine("Deserializing an instance of the object.");
    FileStream fs = new FileStream(fileName,
    XmlDictionaryReader reader =
        XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas());
    DataContractSerializer ser = new DataContractSerializer(typeof(Person));

    // Deserialize the data and read it from the instance.
    Person deserializedPerson =
        (Person)ser.ReadObject(reader, true);
    Console.WriteLine(String.Format("{0} {1}, ID: {2}",
    deserializedPerson.FirstName, deserializedPerson.LastName,

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.0
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