XmlReader.ReadElementContentAsObject Método

Definição

Lê o elemento atual e retorna os conteúdos como um Object.Reads the current element and returns the contents as an Object.

Sobrecargas

ReadElementContentAsObject()

Lê o elemento atual e retorna os conteúdos como um Object.Reads the current element and returns the contents as an 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.Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as an Object.

ReadElementContentAsObject()

Lê o elemento atual e retorna os conteúdos como um Object.Reads the current element and returns the contents as an 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

Object

Um objeto CLR (Common Language Runtime) demarcado do tipo mais apropriado.A boxed common language runtime (CLR) object of the most appropriate type. A propriedade ValueType determina o tipo CLR apropriado.The ValueType property determines the appropriate CLR type. Se o conteúdo for tipado como tipo de lista, esse método retornará uma matriz de objetos demarcados do tipo apropriado.If the content is typed as a list type, this method returns an array of boxed objects of the appropriate type.

Exceções

O XmlReader não está posicionado em um elemento.The XmlReader is not positioned on an element.

- ou --or- Um método XmlReader foi chamado antes do término de uma operação assíncrona anterior.An XmlReader method was called before a previous asynchronous operation finished. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

O elemento atual contém elementos filho.The current element contains child elements.

- ou --or-

O conteúdo do elemento não pode ser convertido no tipo solicitadoThe element content cannot be converted to the requested type

O método é chamado com os argumentos null.The method is called with null arguments.

Exemplos

O exemplo a seguir usa o método para ler o conteúdo do price nó.The following example uses the method to read the content of the price node. O leitor usa as informações no esquema para mapear o conteúdo para o tipo de dados correto.The reader uses the information in the schema to map the content to the correct data type.

// 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.The example uses the following two files as input.

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 de início, o conteúdo do elemento e move o leitor após a marca do elemento final.This method reads the start tag, the contents of the element, and moves the reader past the end element tag. Ele expande as entidades e ignora as instruções e os comentários de processamento.It expands entities and ignores processing instructions and comments. O elemento só pode conter conteúdo simples.The element can only contain simple content. Ou seja, ele não pode ter elementos filho.That is, it cannot have child elements.

Para obter mais informações, consulte a seção comentários da XmlReader página de referência e o esquema XML do W3C parte 2: recomendação dos tipos de dados.For more information, see the Remarks section of the XmlReader reference page and the W3C XML Schema Part 2: Datatypes recommendation.

Para obter a versão assíncrona desse método, consulte ReadElementContentAsObjectAsync .For the asynchronous version of this method, see 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.Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as an 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.The local name of the element.

namespaceURI
String

O URI do namespace do elemento.The namespace URI of the element.

Retornos

Object

Um objeto CLR (Common Language Runtime) demarcado do tipo mais apropriado.A boxed common language runtime (CLR) object of the most appropriate type. A propriedade ValueType determina o tipo CLR apropriado.The ValueType property determines the appropriate CLR type. Se o conteúdo for tipado como tipo de lista, esse método retornará uma matriz de objetos demarcados do tipo apropriado.If the content is typed as a list type, this method returns an array of boxed objects of the appropriate type.

Exceções

O XmlReader não está posicionado em um elemento.The XmlReader is not positioned on an element.

- ou --or- Um método XmlReader foi chamado antes do término de uma operação assíncrona anterior.An XmlReader method was called before a previous asynchronous operation finished. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

O elemento atual contém elementos filho.The current element contains child elements.

- ou --or-

Não é possível converter o conteúdo do elemento no tipo solicitado.The element content cannot be converted to the requested type.

O método é chamado com os argumentos null.The method is called with null arguments.

O nome do local especificado e o URI de namespace não correspondem àqueles do elemento atual que está sendo lido.The specified local name and namespace URI do not match that of the current element being read.

Comentários

Esse método lê a marca de início, o conteúdo do elemento e move o leitor após a marca do elemento final.This method reads the start tag, the contents of the element, and moves the reader past the end element tag. Ele expande as entidades e ignora as instruções e os comentários de processamento.It expands entities and ignores processing instructions and comments. O elemento só pode conter conteúdo simples.The element can only contain simple content. Ou seja, ele não pode ter elementos filho.That is, it cannot have child elements.

Para obter mais informações, consulte a seção comentários da XmlReader página de referência e o esquema XML do W3C parte 2: recomendação dos tipos de dados.For more information, see the Remarks section of the XmlReader reference page and the W3C XML Schema Part 2: Datatypes recommendation.

Aplica-se a