Поделиться через


DataContractSerializer.ReadObject Метод

Определение

Считывает XML-поток и возвращает десериализованный объект.

Перегрузки

ReadObject(XmlReader)

Считывает XML-поток с помощью средства чтения XmlReader и возвращает десериализованный объект.

ReadObject(XmlDictionaryReader, Boolean)

Считывает XML-поток с помощью средства чтения XmlDictionaryReader и возвращает десериализованный объект; также указывает, была ли выполнена проверка имени объекта перед чтением его значения.

ReadObject(XmlReader, Boolean)

Считывает XML-поток с помощью средства чтения XmlReader и возвращает десериализованный объект; также указывает, была ли выполнена проверка имени объекта перед чтением его значения.

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

Считывает XML-документ или поток XML-документов и возвращает десериализованный объект. Метод включает параметр, определяющий, проверяется ли имя объекта, и сопоставитель для сопоставления объявлений xsi:type во время выполнения.

ReadObject(XmlReader)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

Считывает XML-поток с помощью средства чтения XmlReader и возвращает десериализованный объект.

public:
 override System::Object ^ ReadObject(System::Xml::XmlReader ^ reader);
public override object ReadObject (System.Xml.XmlReader reader);
public override object? ReadObject (System.Xml.XmlReader reader);
override this.ReadObject : System.Xml.XmlReader -> obj
Public Overrides Function ReadObject (reader As XmlReader) As Object

Параметры

reader
XmlReader

Объект XmlReader, используемый для чтения XML-потока.

Возвращаемое значение

Десериализованный объект.

Применяется к

ReadObject(XmlDictionaryReader, Boolean)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

Считывает XML-поток с помощью средства чтения XmlDictionaryReader и возвращает десериализованный объект; также указывает, была ли выполнена проверка имени объекта перед чтением его значения.

public:
 override System::Object ^ ReadObject(System::Xml::XmlDictionaryReader ^ reader, bool verifyObjectName);
public override object ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName);
public override object? ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName);
override this.ReadObject : System.Xml.XmlDictionaryReader * bool -> obj
Public Overrides Function ReadObject (reader As XmlDictionaryReader, verifyObjectName As Boolean) As Object

Параметры

reader
XmlDictionaryReader

Объект XmlDictionaryReader, используемый для чтения XML-потока.

verifyObjectName
Boolean

Значение true, если требуется проверить соответствие имени объекта предоставленному в конструкторе значению корневого имени; в противном случае — значение false.

Возвращаемое значение

Десериализованный объект.

Исключения

Параметру verifyObjectName задано значение true и имя и пространство имен элемента не соответствуют значениям, заданным в конструкторе.

Примеры

В следующем примере считывается XML-документ и выполняется десериализация экземпляра объекта.

public static void ReadObject(string fileName)
{
    Console.WriteLine("Deserializing an instance of the object.");
    FileStream fs = new FileStream(fileName,
    FileMode.Open);
    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);
    reader.Close();
    fs.Close();
    Console.WriteLine(String.Format("{0} {1}, ID: {2}",
    deserializedPerson.FirstName, deserializedPerson.LastName,
    deserializedPerson.ID));
}
Public Shared Sub ReadObject(ByVal fileName As String) 
    Console.WriteLine("Deserializing an instance of the object.")
    Dim fs As New FileStream(fileName, FileMode.Open)
    Dim reader As XmlDictionaryReader = _
        XmlDictionaryReader.CreateTextReader(fs, New XmlDictionaryReaderQuotas())
    Dim ser As New DataContractSerializer(GetType(Person))
    
    ' Deserialize the data and read it from the instance.
    Dim deserializedPerson As Person = CType(ser.ReadObject(reader, True), Person)
    reader.Close()
    fs.Close()
    Console.WriteLine(String.Format("{0} {1}, ID: {2}", deserializedPerson.FirstName, deserializedPerson.LastName, deserializedPerson.ID))
End Sub

Применяется к

ReadObject(XmlReader, Boolean)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

Считывает XML-поток с помощью средства чтения XmlReader и возвращает десериализованный объект; также указывает, была ли выполнена проверка имени объекта перед чтением его значения.

public:
 override System::Object ^ ReadObject(System::Xml::XmlReader ^ reader, bool verifyObjectName);
public override object ReadObject (System.Xml.XmlReader reader, bool verifyObjectName);
public override object? ReadObject (System.Xml.XmlReader reader, bool verifyObjectName);
override this.ReadObject : System.Xml.XmlReader * bool -> obj
Public Overrides Function ReadObject (reader As XmlReader, verifyObjectName As Boolean) As Object

Параметры

reader
XmlReader

Объект XmlReader, используемый для чтения XML-потока.

verifyObjectName
Boolean

Значение true, если требуется проверить соответствие имени объекта предоставленному в конструкторе значению корневого имени; в противном случае — значение false.

Возвращаемое значение

Десериализованный объект.

Исключения

Параметру verifyObjectName задано значение true и имя и пространство имен элемента не соответствуют значениям, заданным в конструкторе.

Применяется к

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

Считывает XML-документ или поток XML-документов и возвращает десериализованный объект. Метод включает параметр, определяющий, проверяется ли имя объекта, и сопоставитель для сопоставления объявлений xsi:type во время выполнения.

public:
 System::Object ^ ReadObject(System::Xml::XmlDictionaryReader ^ reader, bool verifyObjectName, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public object? ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName, System.Runtime.Serialization.DataContractResolver? dataContractResolver);
public object ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName, System.Runtime.Serialization.DataContractResolver dataContractResolver);
override this.ReadObject : System.Xml.XmlDictionaryReader * bool * System.Runtime.Serialization.DataContractResolver -> obj
Public Function ReadObject (reader As XmlDictionaryReader, verifyObjectName As Boolean, dataContractResolver As DataContractResolver) As Object

Параметры

reader
XmlDictionaryReader

Модуль чтения XML, используемый для чтения содержимого.

verifyObjectName
Boolean

Значение true, если нужно проверять имя объекта; в противном случае — значение false.

dataContractResolver
DataContractResolver

Реализация DataContractResolver для сопоставления объявлений xsi:type типам контракта данных.

Возвращаемое значение

Десериализованный объект.

Применяется к