XmlReader Classe

Definição

Representa um leitor que fornece acesso rápido, sem cache e apenas avançado a dados XML.

public ref class XmlReader abstract : IDisposable
public ref class XmlReader abstract
public abstract class XmlReader : IDisposable
public abstract class XmlReader
type XmlReader = class
    interface IDisposable
type XmlReader = class
Public MustInherit Class XmlReader
Implements IDisposable
Public MustInherit Class XmlReader
Herança
XmlReader
Derivado
Implementações

Exemplos

O seguinte exemplo de código mostra como usar a API assíncrona para analisar XML.

async Task TestReader(System.IO.Stream stream)
{
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.Async = true;

    using (XmlReader reader = XmlReader.Create(stream, settings))
    {
        while (await reader.ReadAsync())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    Console.WriteLine("Start Element {0}", reader.Name);
                    break;
                case XmlNodeType.Text:
                    Console.WriteLine("Text Node: {0}",
                             await reader.GetValueAsync());
                    break;
                case XmlNodeType.EndElement:
                    Console.WriteLine("End Element {0}", reader.Name);
                    break;
                default:
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value);
                    break;
            }
        }
    }
}
Public Async Function TestReader(stream As System.IO.Stream) As Task
    Dim settings As New XmlReaderSettings()
    settings.Async = True

    Using reader As XmlReader = XmlReader.Create(stream, settings)
        While (Await reader.ReadAsync())
            Select Case (reader.NodeType)
                Case XmlNodeType.Element
                    Console.WriteLine("Start Element {0}", reader.Name)
                Case XmlNodeType.Text
                    Console.WriteLine("Text Node: {0}",
                             Await reader.GetValueAsync())
                Case XmlNodeType.EndElement
                    Console.WriteLine("End Element {0}", reader.Name)
                Case Else
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value)
            End Select
        End While
    End Using
End Function

Observações

Para mais informações sobre esta API, veja Observações Suplementares da API para o XmlReader.

Construtores

Name Description
XmlReader()

Inicializa uma nova instância da XmlReader classe.

Propriedades

Name Description
AttributeCount

Quando sobrescrito numa classe derivada, obtém o número de atributos no nó atual.

BaseURI

Quando sobrescrito numa classe derivada, obtém o URI base do nó atual.

CanReadBinaryContent

Recebe um valor que indica se implementa XmlReader os métodos binários de leitura de conteúdo.

CanReadValueChunk

Obtém um valor que indica se implementa XmlReader o ReadValueChunk(Char[], Int32, Int32) método.

CanResolveEntity

Recebe um valor que indica se este leitor pode analisar e resolver as entidades.

Depth

Quando sobrescrito numa classe derivada, obtém a profundidade do nó atual no documento XML.

EOF

Quando sobrescrito numa classe derivada, obtém um valor que indica se o leitor está posicionado no final do fluxo.

HasAttributes

Recebe um valor que indica se o nó atual tem algum atributo.

HasValue

Quando sobrescrito numa classe derivada, obtém um valor que indica se o nó atual pode ter um Value.

IsDefault

Quando sobreposto numa classe derivada, obtém um valor que indica se o nó atual é um atributo gerado a partir do valor padrão definido no DTD ou esquema.

IsEmptyElement

Quando sobrescrito numa classe derivada, obtém um valor que indica se o nó atual é um elemento vazio (por exemplo, <MyElement/>).

Item[Int32]

Quando sobrescrito numa classe derivada, obtém o valor do atributo com o índice especificado.

Item[String, String]

Quando sobrescrito numa classe derivada, obtém o valor do atributo com o especificado LocalName e NamespaceURI.

Item[String]

Quando sobrescrito numa classe derivada, obtém o valor do atributo com o especificado Name.

LocalName

Quando sobrescrito numa classe derivada, obtém o nome local do nó atual.

Name

Quando sobrescrito numa classe derivada, obtém o nome qualificado do nó atual.

NamespaceURI

Quando sobrescrito numa classe derivada, obtém o URI do espaço de nomes (conforme definido na especificação do espaço de nomes do W3C) do nó onde o leitor está posicionado.

NameTable

Quando sobreposto numa classe derivada, obtém o associado XmlNameTable a esta implementação.

NodeType

Quando sobrescrito numa classe derivada, obtém o tipo do nó atual.

Prefix

Quando é sobreposto numa classe derivada, obtém o prefixo de namespace associado ao nó atual.

QuoteChar

Quando é sobreposto numa classe derivada, obtém o carácter de aspas usado para conter o valor de um nó de atributo.

ReadState

Quando é sobreposto numa classe derivada, obtém o estado do leitor.

SchemaInfo

Obtém a informação do esquema que foi atribuída ao nó atual como resultado da validação do esquema.

Settings

Obtém o XmlReaderSettings objeto usado para criar esta XmlReader instância.

Value

Quando é sobreposto numa classe derivada, obtém o valor de texto do nó atual.

ValueType

Obtém o tipo Common Language Runtime (CLR) para o nó atual.

XmlLang

Quando é sobreposto numa classe derivada, obtém o âmbito atual xml:lang .

XmlSpace

Quando é sobreposto numa classe derivada, obtém o âmbito atual xml:space .

Métodos

Name Description
Close()

Quando sobrescrito numa classe derivada, altera o ReadState para Closed.

Create(Stream, XmlReaderSettings, String)

Cria uma nova XmlReader instância usando o stream especificado, o URI base e as definições.

Create(Stream, XmlReaderSettings, XmlParserContext)

Cria uma nova XmlReader instância usando o fluxo especificado, as definições e a informação de contexto para análise sintática.

Create(Stream, XmlReaderSettings)

Cria uma nova XmlReader instância com o fluxo e as definições especificados.

Create(Stream)

Cria uma nova XmlReader instância usando o stream especificado com as definições predefinidas.

Create(String, XmlReaderSettings, XmlParserContext)

Cria uma nova XmlReader instância usando o URI, definições e informação de contexto especificadas para análise sintática.

Create(String, XmlReaderSettings)

Cria uma nova XmlReader instância usando o URI e as definições especificadas.

Create(String)

Cria uma nova XmlReader instância com um URI especificado.

Create(TextReader, XmlReaderSettings, String)

Cria uma nova XmlReader instância usando o leitor de texto especificado, as definições e o URI base.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Cria uma nova XmlReader instância usando o leitor de texto especificado, as definições e a informação de contexto para análise sintática.

Create(TextReader, XmlReaderSettings)

Cria uma nova XmlReader instância usando o leitor de texto e as definições especificadas.

Create(TextReader)

Cria uma nova XmlReader instância usando o leitor de texto especificado.

Create(XmlReader, XmlReaderSettings)

Cria uma nova XmlReader instância usando o leitor XML especificado e as definições.

Dispose()

Liberta todos os recursos usados pela instância atual da XmlReader classe.

Dispose(Boolean)

Liberta os recursos não geridos usados pelo XmlReader e opcionalmente liberta os recursos geridos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAttribute(Int32)

Quando sobrescrito numa classe derivada, obtém o valor do atributo com o índice especificado.

GetAttribute(String, String)

Quando sobrescrito numa classe derivada, obtém o valor do atributo com o especificado LocalName e NamespaceURI.

GetAttribute(String)

Quando sobrescrito numa classe derivada, obtém o valor do atributo com o especificado Name.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValueAsync()

De forma assíncrona, obtém-se o valor do nó atual.

IsName(String)

Devolve um valor que indica se o argumento da cadeia é um nome XML válido.

IsNameToken(String)

Devolve um valor que indica se o argumento da cadeia é ou não um token de nome XML válido.

IsStartElement()

Chama MoveToContent() e testa se o nó de conteúdo atual é uma tag de início ou uma tag de elemento vazio.

IsStartElement(String, String)

Chamadas MoveToContent() e testes se o nó de conteúdo atual é uma etiqueta inicial ou uma etiqueta de elemento vazio e se as LocalName propriedades e NamespaceURI do elemento encontrado correspondem às strings dadas.

IsStartElement(String)

Chamadas MoveToContent() e testes se o nó de conteúdo atual é uma etiqueta inicial ou uma etiqueta de elemento vazia e se a Name propriedade do elemento encontrado corresponde ao argumento dado.

LookupNamespace(String)

Quando sobrescrito numa classe derivada, resolve um prefixo de namespace no âmbito do elemento atual.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MoveToAttribute(Int32)

Quando sobreposto numa classe derivada, move-se para o atributo com o índice especificado.

MoveToAttribute(String, String)

Quando sobrescrito numa classe derivada, move-se para o atributo com o especificado LocalName e NamespaceURI.

MoveToAttribute(String)

Quando sobrescrito numa classe derivada, move-se para o atributo com o especificado Name.

MoveToContent()

Verifica se o nó atual é um nó de conteúdo (texto sem espaço em branco, CDATA, Element, EndElementEntityReference, , ou EndEntity) . Se o nó não for um nó de conteúdo, o leitor avança para o próximo nó de conteúdo ou para o fim do ficheiro. Ignora nós do seguinte tipo: ProcessingInstruction, DocumentType, Comment, Whitespace, ou SignificantWhitespace.

MoveToContentAsync()

Verifica assíncronamente se o nó atual é um nó de conteúdo. Se o nó não for um nó de conteúdo, o leitor avança para o próximo nó de conteúdo ou para o fim do ficheiro.

MoveToElement()

Quando sobrescrito numa classe derivada, move-se para o elemento que contém o nó de atributo atual.

MoveToFirstAttribute()

Quando é sobreposto numa classe derivada, passa para o primeiro atributo.

MoveToNextAttribute()

Quando sobreposto numa classe derivada, move-se para o atributo seguinte.

Read()

Quando é sobreposto numa classe derivada, lê o próximo nó do fluxo.

ReadAsync()

Lê assíncronamente o próximo nó do fluxo.

ReadAttributeValue()

Quando sobrescrito numa classe derivada, analisa o valor do atributo em um ou mais Text, EntityReference, ou EndEntity nós.

ReadContentAs(Type, IXmlNamespaceResolver)

Lê o conteúdo como um objeto do tipo especificado.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

Lê assíncronamente o conteúdo como um objeto do tipo especificado.

ReadContentAsBase64(Byte[], Int32, Int32)

Lê o conteúdo e devolve os bytes binários decodificados em Base64.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Lê assíncronamente o conteúdo e devolve os bytes binários decodificados em Base64.

ReadContentAsBinHex(Byte[], Int32, Int32)

Lê o conteúdo e devolve os BinHex bytes binários decodificados.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

Lê assíncronamente o conteúdo e devolve os BinHex bytes binários decodificados.

ReadContentAsBoolean()

Lê o conteúdo do texto na posição atual como um Boolean.

ReadContentAsDateTime()

Lê o conteúdo do texto na posição atual como um DateTime objeto.

ReadContentAsDateTimeOffset()

Lê o conteúdo do texto na posição atual como um DateTimeOffset objeto.

ReadContentAsDecimal()

Lê o conteúdo do texto na posição atual como um Decimal objeto.

ReadContentAsDouble()

Lê o conteúdo do texto na posição atual como um número de ponto flutuante de dupla precisão.

ReadContentAsFloat()

Lê o conteúdo do texto na posição atual como um número de ponto flutuante de precisão simples.

ReadContentAsInt()

Lê o conteúdo do texto na posição atual como um inteiro com sinal de 32 bits.

ReadContentAsLong()

Lê o conteúdo do texto na posição atual como um inteiro assinado de 64 bits.

ReadContentAsObject()

Lê o conteúdo do texto na posição atual como um Object.

ReadContentAsObjectAsync()

Lê assíncronamente o conteúdo do texto na posição atual como um Object.

ReadContentAsString()

Lê o conteúdo do texto na posição atual como um String objeto.

ReadContentAsStringAsync()

Lê assíncronamente o conteúdo do texto na posição atual como um String objeto.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o conteúdo do elemento como o tipo solicitado.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Lê o elemento conteúdo como o tipo solicitado.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Lê assíncronamente o conteúdo do elemento como o tipo solicitado.

ReadElementContentAsBase64(Byte[], Int32, Int32)

Lê o elemento e decodifica o Base64 conteúdo.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

Lê assíncronamente o elemento e decodifica o Base64 conteúdo.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

Lê o elemento e decodifica o BinHex conteúdo.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Lê assíncronamente o elemento e decodifica o BinHex conteúdo.

ReadElementContentAsBoolean()

Lê o elemento atual e devolve o conteúdo como um Boolean objeto.

ReadElementContentAsBoolean(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um Boolean objeto.

ReadElementContentAsDateTime()

Lê o elemento atual e devolve o conteúdo como um DateTime objeto.

ReadElementContentAsDateTime(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um DateTime objeto.

ReadElementContentAsDecimal()

Lê o elemento atual e devolve o conteúdo como um Decimal objeto.

ReadElementContentAsDecimal(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um Decimal objeto.

ReadElementContentAsDouble()

Lê o elemento atual e devolve o conteúdo como um número de ponto flutuante de dupla precisão.

ReadElementContentAsDouble(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um número de ponto flutuante de dupla precisão.

ReadElementContentAsFloat()

Lê o elemento atual e devolve o conteúdo como número de ponto flutuante de precisão simples.

ReadElementContentAsFloat(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um número de ponto flutuante de precisão simples.

ReadElementContentAsInt()

Lê o elemento atual e devolve o conteúdo como um inteiro com sinal de 32 bits.

ReadElementContentAsInt(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um inteiro assinado de 32 bits.

ReadElementContentAsLong()

Lê o elemento atual e devolve o conteúdo como um inteiro assinado de 64 bits.

ReadElementContentAsLong(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um inteiro assinado de 64 bits.

ReadElementContentAsObject()

Lê o elemento atual e devolve o conteúdo como um Object.

ReadElementContentAsObject(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um Object.

ReadElementContentAsObjectAsync()

Lê assíncronamente o elemento atual e devolve o conteúdo como um Object.

ReadElementContentAsString()

Lê o elemento atual e devolve o conteúdo como um String objeto.

ReadElementContentAsString(String, String)

Verifica se o nome local especificado e o URI do espaço de nomes correspondem ao do elemento atual, depois lê o elemento atual e devolve o conteúdo como um String objeto.

ReadElementContentAsStringAsync()

Lê assíncronamente o elemento atual e devolve o conteúdo como um String objeto.

ReadElementString()

Lê um elemento apenas de texto. No entanto, recomendamos que utilize este ReadElementContentAsString() método, pois oferece uma forma mais direta de lidar com esta operação.

ReadElementString(String, String)

Verifica se as LocalName propriedades e NamespaceURI do elemento encontrado correspondem às strings dadas antes de ler um elemento apenas de texto. No entanto, recomendamos que utilize este ReadElementContentAsString(String, String) método, pois oferece uma forma mais direta de lidar com esta operação.

ReadElementString(String)

Verifica se a Name propriedade do elemento encontrado corresponde à cadeia dada antes de ler um elemento apenas de texto. No entanto, recomendamos que utilize este ReadElementContentAsString() método, pois oferece uma forma mais direta de lidar com esta operação.

ReadEndElement()

Verifica se o nó de conteúdo atual é uma etiqueta final e avança o leitor para o nó seguinte.

ReadInnerXml()

Quando sobrescrito numa classe derivada, lê todo o conteúdo, incluindo a marcação, como uma cadeia.

ReadInnerXmlAsync()

Lê assíncronamente todo o conteúdo, incluindo a marcação, como uma cadeia.

ReadOuterXml()

Quando sobreposto numa classe derivada, lê o conteúdo, incluindo a marcação, representando este nó e todos os seus filhos.

ReadOuterXmlAsync()

Lê assíncronamente o conteúdo, incluindo a marcação, que representa este nó e todos os seus filhos.

ReadStartElement()

Verifica se o nó atual é um elemento e avança o leitor para o próximo nó.

ReadStartElement(String, String)

Verifica se o nó de conteúdo atual é um elemento com o dado LocalName e NamespaceURI avança o leitor para o nó seguinte.

ReadStartElement(String)

Verifica se o nó de conteúdo atual é um elemento com o dado Name e avança o leitor para o nó seguinte.

ReadString()

Quando sobrescrito numa classe derivada, lê o conteúdo de um elemento ou nó de texto como uma cadeia. No entanto, recomendamos que utilize este ReadElementContentAsString método, pois oferece uma forma mais direta de lidar com esta operação.

ReadSubtree()

Devolve uma nova XmlReader instância que pode ser usada para ler o nó atual e todos os seus descendentes.

ReadToDescendant(String, String)

Avança para XmlReader o próximo elemento descendente com o nome local especificado e o espaço de nomes URI.

ReadToDescendant(String)

Avança para XmlReader o próximo elemento descendente com o nome qualificado especificado.

ReadToFollowing(String, String)

Lê até que um elemento com o nome local especificado e o URI do namespace seja encontrado.

ReadToFollowing(String)

Lê-se até ser encontrado um elemento com o nome qualificado especificado.

ReadToNextSibling(String, String)

Avança para XmlReader o próximo elemento irmão com o nome local especificado e o espaço de nomes URI.

ReadToNextSibling(String)

Avança XmlReader para o próximo elemento irmão com o nome qualificado especificado.

ReadValueChunk(Char[], Int32, Int32)

Lê grandes fluxos de texto embutidos num documento XML.

ReadValueChunkAsync(Char[], Int32, Int32)

Lê assíncronamente grandes fluxos de texto embutidos num documento XML.

ResolveEntity()

Quando sobrescrito numa classe derivada, resolve a referência da entidade para EntityReference nós.

Skip()

Ignora os filhos do nó atual.

SkipAsync()

Salta assíncronamente os filhos do nó atual.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
IDisposable.Dispose()

Para uma descrição deste elemento, veja Dispose().

Aplica-se a

Ver também