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

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


XmlReader.ReadElementContentAs Метод

Определение

Считывает текущий элемент и возвращает содержимое как объект указанного типа.

Перегрузки

ReadElementContentAs(Type, IXmlNamespaceResolver)

Считывает содержимое элемента в качестве требуемого типа.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Проверяет, совпадают ли указанные локальное имя и URI пространства имен с таковыми для текущего элемента, затем считывает содержимое элемента как требуемый тип.

ReadElementContentAs(Type, IXmlNamespaceResolver)

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

Считывает содержимое элемента в качестве требуемого типа.

public virtual object ReadElementContentAs (Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver);

Параметры

returnType
Type

Тип возвращаемого значения.

Примечание. С выпуском платформы .NET Framework 3.5 значение параметра returnType может иметь тип DateTimeOffset.

namespaceResolver
IXmlNamespaceResolver

Объект IXmlNamespaceResolver, используемый для разрешения любых префиксов пространств имен, имеющих отношение к преобразованию типов.

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

Содержимое элемента, преобразованное в требуемый типизированный объект.

Исключения

Объект XmlReader не расположен на элементе.

-или-

Метод XmlReader вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".

Текущий элемент содержит дочерние элементы.

-или-

Не удается преобразовать содержимое элемента в запрошенный тип.

Метод вызван с аргументами null.

Чтение значения Decimal.MaxValue.

Примеры

В следующем примере метод используется ReadElementContentAs для чтения содержимого date узла.

using (XmlReader reader = XmlReader.Create("dataFile.xml")) {
     reader.ReadToFollowing("date");
     DateTime date = (DateTime) reader.ReadElementContentAs(typeof(System.DateTime), null);
  
     // If the current culture is "en-US",
     // this writes "Wednesday, January 8, 2003".
     Console.WriteLine(date.ToLongDateString());	
}

В примере в качестве входных данных используется файл dataFile.xml.

<root>
  <stringValue>
     <!--comment-->
     <?some pi?>
      text value of the element.
  </stringValue>
  <longValue>270000000000001</longValue>
  <number>0</number>
  <double>2E10</double>
  <date>2003-01-08T15:00:00-00:00</date>
</root>

Комментарии

Этот метод считывает начальный тег, содержимое элемента и перемещает средство чтения за тег конечного элемента. Он расширяет сущности и игнорирует инструкции по обработке и комментарии. Элемент может содержать только простое содержимое. То есть у него не могут быть дочерние элементы.

Дополнительные сведения см. в разделе Примечания страницы справочника XmlReader и в рекомендации W3C XML Schema Part 2: Datatypes .

Асинхронную версию этого метода см. в разделе ReadElementContentAsAsync.

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

.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 2.0, 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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

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

Проверяет, совпадают ли указанные локальное имя и URI пространства имен с таковыми для текущего элемента, затем считывает содержимое элемента как требуемый тип.

public virtual object ReadElementContentAs (Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver, string localName, string namespaceURI);

Параметры

returnType
Type

Тип возвращаемого значения.

Примечание. С выпуском платформы .NET Framework 3.5 значение параметра returnType может иметь тип DateTimeOffset.

namespaceResolver
IXmlNamespaceResolver

Объект IXmlNamespaceResolver, используемый для разрешения любых префиксов пространств имен, имеющих отношение к преобразованию типов.

localName
String

Локальное имя элемента.

namespaceURI
String

Универсальный код ресурса (URI) пространства имен элемента.

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

Содержимое элемента, преобразованное в требуемый типизированный объект.

Исключения

Объект XmlReader не расположен на элементе.

-или-

Метод XmlReader вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".

Текущий элемент содержит дочерние элементы.

-или-

Не удается преобразовать содержимое элемента в запрошенный тип.

Метод вызван с аргументами null.

Указанное локальное имя и URI пространства имен не совпадают с аналогичными параметрами текущего считываемого элемента.

Чтение значения Decimal.MaxValue.

Комментарии

Этот метод считывает начальный тег, содержимое элемента и перемещает средство чтения за тег конечного элемента. Он расширяет сущности и игнорирует инструкции по обработке и комментарии. Элемент может содержать только простое содержимое. То есть у него не могут быть дочерние элементы.

Дополнительные сведения см. в разделе Примечания страницы справочника XmlReader и в рекомендации W3C XML Schema Part 2: Datatypes .

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

.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 2.0, 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 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0