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


XmlReader.ReadElementContentAs Метод

Определение

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

Перегрузки

ReadElementContentAs(Type, IXmlNamespaceResolver)

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

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

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

ReadElementContentAs(Type, IXmlNamespaceResolver)

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

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

public:
 virtual System::Object ^ ReadElementContentAs(Type ^ returnType, System::Xml::IXmlNamespaceResolver ^ namespaceResolver);
public virtual object ReadElementContentAs (Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver);
abstract member ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver -> obj
override this.ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver -> obj
Public Overridable Function ReadElementContentAs (returnType As Type, namespaceResolver As IXmlNamespaceResolver) As Object

Параметры

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());	
}
Using reader As XmlReader = XmlReader.Create("dataFile.xml")
  reader.ReadToFollowing("date")
  Dim [date] As DateTime = CType(reader.ReadElementContentAs(GetType(System.DateTime), Nothing), DateTime)
            
  ' If the current culture is "en-US",
  ' this writes "Wednesday, January 8, 2003".
  Console.WriteLine([date].ToLongDateString())
End Using

В примере в качестве входных данных используется файл 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.

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

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

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

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

public:
 virtual System::Object ^ ReadElementContentAs(Type ^ returnType, System::Xml::IXmlNamespaceResolver ^ namespaceResolver, System::String ^ localName, System::String ^ namespaceURI);
public virtual object ReadElementContentAs (Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver, string localName, string namespaceURI);
abstract member ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver * string * string -> obj
override this.ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver * string * string -> obj
Public Overridable Function ReadElementContentAs (returnType As Type, namespaceResolver As IXmlNamespaceResolver, localName As String, namespaceURI As String) As Object

Параметры

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 .

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