Прочитать на английском

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


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 object ReadObject (System.Xml.XmlReader reader);
public override object? ReadObject (System.Xml.XmlReader reader);

Параметры

reader
XmlReader

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

ReadObject(XmlDictionaryReader, Boolean)

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

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

public override object ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName);
public override object? ReadObject (System.Xml.XmlDictionaryReader reader, bool verifyObjectName);

Параметры

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

ReadObject(XmlReader, Boolean)

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

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

public override object ReadObject (System.Xml.XmlReader reader, bool verifyObjectName);
public override object? ReadObject (System.Xml.XmlReader reader, bool verifyObjectName);

Параметры

reader
XmlReader

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

verifyObjectName
Boolean

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

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

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

Исключения

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

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

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

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

Параметры

reader
XmlDictionaryReader

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

verifyObjectName
Boolean

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

dataContractResolver
DataContractResolver

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1