XmlReader.ReadElementContentAsObject Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Lê o elemento atual e retorna os conteúdos como um Object.
Sobrecargas
ReadElementContentAsObject() |
Lê o elemento atual e retorna os conteúdos como um Object. |
ReadElementContentAsObject(String, String) |
Verifica se o nome local e o URI de namespace especificados são iguais aos do elemento atual, lê o elemento atual e retorna o conteúdo como um Object. |
ReadElementContentAsObject()
Lê o elemento atual e retorna os conteúdos como um 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
Retornos
Um objeto CLR (Common Language Runtime) demarcado do tipo mais apropriado. A propriedade ValueType determina o tipo CLR apropriado. Se o conteúdo for tipado como tipo de lista, esse método retornará uma matriz de objetos demarcados do tipo apropriado.
Exceções
O XmlReader não está posicionado em um elemento.
- ou -
Um método XmlReader foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.
O elemento atual contém elementos filho.
- ou -
O conteúdo do elemento não pode ser convertido no tipo solicitado
O método é chamado com os argumentos null
.
Exemplos
O exemplo a seguir usa o método para ler o conteúdo do price
nó. O leitor usa as informações no esquema para mapear o conteúdo para o tipo de dados correto.
// 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)
O exemplo usa os dois arquivos a seguir como entrada.
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>
Comentários
Esse método lê a marca inicial, o conteúdo do elemento e move o leitor para além da marca do elemento final. Ele expande entidades e ignora instruções de processamento e comentários. O elemento só pode conter conteúdo simples. Ou seja, não pode ter elementos filho.
Para obter mais informações, consulte a seção Comentários da página de XmlReader referência e a recomendação W3C XML Schema Part 2: Datatypes .
Para obter a versão assíncrona deste método, consulte ReadElementContentAsObjectAsync.
Aplica-se a
ReadElementContentAsObject(String, String)
Verifica se o nome local e o URI de namespace especificados são iguais aos do elemento atual, lê o elemento atual e retorna o conteúdo como um 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
Parâmetros
- localName
- String
O nome local do elemento.
- namespaceURI
- String
O URI do namespace do elemento.
Retornos
Um objeto CLR (Common Language Runtime) demarcado do tipo mais apropriado. A propriedade ValueType determina o tipo CLR apropriado. Se o conteúdo for tipado como tipo de lista, esse método retornará uma matriz de objetos demarcados do tipo apropriado.
Exceções
O XmlReader não está posicionado em um elemento.
- ou -
Um método XmlReader foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.
O elemento atual contém elementos filho.
- ou -
Não é possível converter o conteúdo do elemento no tipo solicitado.
O método é chamado com os argumentos null
.
O nome do local especificado e o URI de namespace não correspondem àqueles do elemento atual que está sendo lido.
Comentários
Esse método lê a marca inicial, o conteúdo do elemento e move o leitor para além da marca do elemento final. Ele expande entidades e ignora instruções de processamento e comentários. O elemento só pode conter conteúdo simples. Ou seja, não pode ter elementos filho.
Para obter mais informações, consulte a seção Comentários da página de XmlReader referência e a recomendação W3C XML Schema Part 2: Datatypes .