XmlReader.ReadElementContentAsObject Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Прочитывает текущий элемент и возвращает содержимое в качестве объекта Object.
Перегрузки
ReadElementContentAsObject() |
Прочитывает текущий элемент и возвращает содержимое в качестве объекта Object. |
ReadElementContentAsObject(String, String) |
Проверяет соответствие указанного URI локального имени и пространства имен с URI текущего элемента, затем считывает текущий элемент и возвращает содержимое как объект Object. |
ReadElementContentAsObject()
Прочитывает текущий элемент и возвращает содержимое в качестве объекта Object.
public:
virtual System::Object ^ ReadElementContentAsObject();
public virtual object ReadElementContentAsObject ();
abstract member ReadElementContentAsObject : unit -> obj
override this.ReadElementContentAsObject : unit -> obj
Public Overridable Function ReadElementContentAsObject () As Object
Возвращаемое значение
Упакованный объект CLR наиболее подходящего типа. Свойство ValueType служит для определения подходящего типа CLR. Если содержимое типизировано как тип списка, этот метод возвращает массив упакованных объектов соответствующего типа.
Исключения
Объект XmlReader не расположен на элементе.
-или-
Метод XmlReader вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".
Текущий элемент содержит дочерние элементы.
-или-
Содержимое элемента невозможно преобразовать в запрошенный тип.
Метод вызван с аргументами null
.
Примеры
В следующем примере используется метод для чтения содержимого price
узла. Средство чтения использует сведения в схеме для сопоставления содержимого с правильным типом данных.
// Create a validating reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:items", "item.xsd");
XmlReader reader = XmlReader.Create("item.xml", settings);
// Get the CLR type of the price element.
reader.ReadToFollowing("price");
Console.WriteLine(reader.ValueType);
// Return the value of the price element as Decimal object.
Decimal price = (Decimal) reader.ReadElementContentAsObject();
// Add 2.50 to the price.
price = Decimal.Add(price, 2.50m);
' Create a validating reader.
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:items", "item.xsd")
Dim reader As XmlReader = XmlReader.Create("item.xml", settings)
' Get the CLR type of the price element.
reader.ReadToFollowing("price")
Console.WriteLine(reader.ValueType)
' Return the value of the price element as Decimal object.
Dim price As [Decimal] = CType(reader.ReadElementContentAsObject(), [Decimal])
' Add 2.50 to the price.
price = [Decimal].Add(price, 2.5D)
В этом примере в качестве входных данных используются следующие два файла.
item.xml
<item xmlns="urn:items" productID='123098'>
<name>hammer</name>
<price>9.95</price>
<supplierID>1929</supplierID>
</item>
item.xsd
<?xml version="1.0"?>
<xs:schema xmlns:tns="urn:items" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:items" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="price" type="xs:decimal" />
<xs:element name="supplierID" type="xs:unsignedShort" />
</xs:sequence>
<xs:attribute name="productID" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
Комментарии
Этот метод считывает начальный тег, содержимое элемента и перемещает средство чтения мимо тега конечного элемента. Он расширяет сущности и игнорирует инструкции и комментарии по обработке. Элемент может содержать только простое содержимое. То есть он не может иметь дочерние элементы.
Дополнительные сведения см. в разделе "Примечания" эталонной XmlReader страницы и рекомендации по xml-схеме W3C, часть 2. Рекомендации по типам данных .
Асинхронную версию этого метода см. в разделе ReadElementContentAsObjectAsync.
Применяется к
ReadElementContentAsObject(String, String)
Проверяет соответствие указанного URI локального имени и пространства имен с URI текущего элемента, затем считывает текущий элемент и возвращает содержимое как объект Object.
public:
virtual System::Object ^ ReadElementContentAsObject(System::String ^ localName, System::String ^ namespaceURI);
public virtual object ReadElementContentAsObject (string localName, string namespaceURI);
abstract member ReadElementContentAsObject : string * string -> obj
override this.ReadElementContentAsObject : string * string -> obj
Public Overridable Function ReadElementContentAsObject (localName As String, namespaceURI As String) As Object
Параметры
- localName
- String
Локальное имя элемента.
- namespaceURI
- String
Универсальный код ресурса (URI) пространства имен элемента.
Возвращаемое значение
Упакованный объект CLR наиболее подходящего типа. Свойство ValueType служит для определения подходящего типа CLR. Если содержимое типизировано как тип списка, этот метод возвращает массив упакованных объектов соответствующего типа.
Исключения
Объект XmlReader не расположен на элементе.
-или-
Метод XmlReader вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".
Текущий элемент содержит дочерние элементы.
-или-
Не удается преобразовать содержимое элемента в запрошенный тип.
Метод вызван с аргументами null
.
Указанное локальное имя и URI пространства имен не совпадают с аналогичными параметрами текущего считываемого элемента.
Комментарии
Этот метод считывает начальный тег, содержимое элемента и перемещает средство чтения мимо тега конечного элемента. Он расширяет сущности и игнорирует инструкции и комментарии по обработке. Элемент может содержать только простое содержимое. То есть он не может иметь дочерние элементы.
Дополнительные сведения см. в разделе "Примечания" эталонной XmlReader страницы и рекомендации по xml-схеме W3C, часть 2. Рекомендации по типам данных .