Compartir a través de


XmlReader Clase

Definición

Representa un lector que proporciona acceso rápido a datos XML, sin almacenamiento en caché y con desplazamiento solo hacia delante.

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
Herencia
XmlReader
Derivado
Implementaciones

Ejemplos

En el código de ejemplo siguiente se muestra cómo usar la API asincrónica para analizar 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

Comentarios

Para obtener más información sobre esta API, consulte Comentarios complementarios de la API para XmlReader.

Constructores

XmlReader()

Inicializa una nueva instancia de la clase XmlReader.

Propiedades

AttributeCount

Cuando se invalida en una clase derivada, obtiene el número de atributos en el nodo actual.

BaseURI

Cuando se invalida en una clase derivada, obtiene el identificador URI base del nodo actual.

CanReadBinaryContent

Obtiene un valor que indica si XmlReader implementa los métodos de lectura de contenido binario.

CanReadValueChunk

Obtiene un valor que indica si XmlReader implementa el método ReadValueChunk(Char[], Int32, Int32).

CanResolveEntity

Obtiene un valor que indica si este lector puede analizar y resolver entidades.

Depth

Cuando se invalida en una clase derivada, obtiene la profundidad del nodo actual en el documento XML.

EOF

Cuando se invalida en una clase derivada, obtiene un valor que indica si el lector está situado al final del flujo.

HasAttributes

Obtiene un valor que indica si el nodo actual tiene algún atributo.

HasValue

Cuando se invalida en una clase derivada, obtiene un valor que indica si el nodo actual puede tener una propiedad Value.

IsDefault

Cuando se reemplaza en una clase derivada, obtiene un valor que indica si el nodo actual es un atributo generado a partir del valor predeterminado definido en la DTD o el esquema.

IsEmptyElement

Cuando se reemplaza en una clase derivada, obtiene un valor que indica si el nodo actual es un elemento vacío (por ejemplo, <MyElement/>).

Item[Int32]

Cuando se invalida en una clase derivada, obtiene el valor del atributo con el índice especificado.

Item[String, String]

Cuando se invalida en una clase derivada, obtiene el valor del atributo con las propiedades LocalName y NamespaceURI especificadas.

Item[String]

Cuando se invalida en una clase derivada, obtiene el valor del atributo con la propiedad Name especificada.

LocalName

Cuando se invalida en una clase derivada, obtiene el nombre local del nodo actual.

Name

Cuando se invalida en una clase derivada, obtiene el nombre completo del nodo actual.

NamespaceURI

Cuando se invalida en una clase derivada, obtiene el identificador URI de espacio de nombres (según se define en la especificación relativa a espacios de nombres del Consorcio W3C) del nodo en el que está situado el lector.

NameTable

Cuando se invalida en una clase derivada, obtiene el objeto XmlNameTable que está asociado a esta implementación.

NodeType

Cuando se invalida en una clase derivada, obtiene el tipo del nodo actual.

Prefix

Cuando se invalida en una clase derivada, obtiene el prefijo de espacio de nombres asociado al nodo actual.

QuoteChar

Cuando se reemplaza en una clase derivada, obtiene el carácter de comillas entre las que se encierra el valor de un nodo de atributo.

ReadState

Cuando se invalida en una clase derivada, obtiene el estado del lector.

SchemaInfo

Obtiene la información de esquema asignada al nodo actual como resultado de la validación del esquema.

Settings

Obtiene el objeto XmlReaderSettings que se usa para crear esta instancia de XmlReader.

Value

Cuando se invalida en una clase derivada, obtiene el valor de texto del nodo actual.

ValueType

Obtiene el tipo de Common Language Runtime (CLR) del nodo actual.

XmlLang

Cuando se invalida en una clase derivada, obtiene el ámbito de xml:lang actual.

XmlSpace

Cuando se invalida en una clase derivada, obtiene el ámbito de xml:space actual.

Métodos

Close()

Cuando se invalida en una clase derivada, cambia ReadState a Closed.

Create(Stream)

Crea una nueva instancia XmlReader mediante el flujo especificado con la configuración predeterminada.

Create(Stream, XmlReaderSettings)

Crea una nueva instancia de XmlReader con el flujo y la configuración especificados.

Create(Stream, XmlReaderSettings, String)

Crea una nueva instancia de XmlReader usando el flujo, el URI base y la configuración especificados.

Create(Stream, XmlReaderSettings, XmlParserContext)

Crea una nueva instancia XmlReader con el flujo, la configuración y la información de contexto especificados para el análisis.

Create(String)

Crea una nueva instancia de XmlReader con el URI especificado.

Create(String, XmlReaderSettings)

Crea una nueva instancia de XmlReader usando el URI y la configuración especificados.

Create(String, XmlReaderSettings, XmlParserContext)

Crea una nueva instancia de XmlReader usando el URI, la configuración y la información de contexto especificados.

Create(TextReader)

Crea una nueva instancia de XmlReader mediante el lector de texto especificado.

Create(TextReader, XmlReaderSettings)

Crea una nueva instancia XmlReader usando el lector de texto y la configuración especificados.

Create(TextReader, XmlReaderSettings, String)

Crea una nueva instancia de XmlReader mediante el lector de texto, la configuración y el URI base especificados.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Crea una nueva instancia de XmlReader con el lector de texto, la configuración y la información de contexto especificados para el análisis.

Create(XmlReader, XmlReaderSettings)

Crea una nueva instancia de XmlReader con el lector XML y la configuración especificados.

Dispose()

Libera todos los recursos usados por la instancia actual de la clase XmlReader.

Dispose(Boolean)

Libera los recursos no administrados que usa XmlReader y, de forma opcional, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetAttribute(Int32)

Cuando se invalida en una clase derivada, obtiene el valor del atributo con el índice especificado.

GetAttribute(String)

Cuando se invalida en una clase derivada, obtiene el valor del atributo con la propiedad Name especificada.

GetAttribute(String, String)

Cuando se invalida en una clase derivada, obtiene el valor del atributo con las propiedades LocalName y NamespaceURI especificadas.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValueAsync()

Obtiene de forma asincrónica el valor del nodo actual.

IsName(String)

Devuelve un valor que indica si el argumento de cadena es un nombre XML válido.

IsNameToken(String)

Devuelve un valor que indica si el argumento de cadena es un token de nombre XML válido.

IsStartElement()

Llama al método MoveToContent() y comprueba si el nodo de contenido actual es una etiqueta de apertura o una etiqueta de elemento vacío.

IsStartElement(String)

Llama al método MoveToContent() y comprueba si el nodo de contenido actual es una etiqueta de apertura o una etiqueta de elemento vacío y si la propiedad Name del elemento encontrado coincide con el argumento especificado.

IsStartElement(String, String)

Llama al método MoveToContent() y comprueba si el nodo de contenido actual es una etiqueta de apertura o una etiqueta de elemento vacío y si las propiedades LocalName y NamespaceURI del elemento encontrado coinciden con las cadenas especificadas.

LookupNamespace(String)

Cuando se invalida en una clase derivada, resuelve un prefijo de espacio de nombres en el ámbito del elemento actual.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MoveToAttribute(Int32)

Cuando se invalida en una clase derivada, se desplaza al atributo con el índice especificado.

MoveToAttribute(String)

Cuando se invalida en una clase derivada, se desplaza al atributo con la propiedad Name especificada.

MoveToAttribute(String, String)

Cuando se invalida en una clase derivada, se desplaza al atributo con las propiedades LocalName y NamespaceURI especificadas.

MoveToContent()

Comprueba si el nodo actual es un nodo de contenido (texto sin espacios en blanco, CDATA, Element, EndElement, EntityReference o EndEntity). Si el nodo no es un nodo de contenido, el lector salta hasta el siguiente nodo de contenido o el final del archivo. Omite los siguientes tipos de nodo: ProcessingInstruction, DocumentType, Comment, Whitespace o SignificantWhitespace.

MoveToContentAsync()

De forma asincrónica comprueba si el nodo actual es un nodo de contenido. Si el nodo no es un nodo de contenido, el lector salta hasta el siguiente nodo de contenido o el final del archivo.

MoveToElement()

Cuando se invalida en una clase derivada, se desplaza al elemento que contiene el nodo de atributo actual.

MoveToFirstAttribute()

Cuando se invalida en una clase derivada, se desplaza hasta el primer atributo.

MoveToNextAttribute()

Cuando se invalida en una clase derivada, se desplaza hasta el siguiente atributo.

Read()

Cuando se invalida en una clase derivada, lee el siguiente nodo del flujo.

ReadAsync()

De forma asincrónica lee el nodo siguiente del flujo.

ReadAttributeValue()

Cuando se invalida en una clase derivada, analiza el valor de atributo en uno o varios nodos Text, EntityReference o EndEntity.

ReadContentAs(Type, IXmlNamespaceResolver)

Lee el contenido como objeto del tipo especificado.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

Lee asincrónicamente el contenido como objeto del tipo especificado.

ReadContentAsBase64(Byte[], Int32, Int32)

Lee el contenido y devuelve los bytes binarios descodificados en Base64.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Lee asincrónicamente el contenido y devuelve los bytes binarios descodificados en Base64.

ReadContentAsBinHex(Byte[], Int32, Int32)

Lee el contenido y devuelve los bytes binarios descodificados de BinHex.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

Lee asincrónicamente el contenido y devuelve los bytes binarios descodificados de BinHex.

ReadContentAsBoolean()

Lee el contenido de texto en la posición actual como valor Boolean.

ReadContentAsDateTime()

Lee el contenido de texto en la posición actual como un objeto DateTime.

ReadContentAsDateTimeOffset()

Lee el contenido de texto en la posición actual como un objeto DateTimeOffset.

ReadContentAsDecimal()

Lee el contenido de texto en la posición actual como un objeto Decimal.

ReadContentAsDouble()

Lee el contenido de texto en la posición actual como número de punto flotante de precisión doble.

ReadContentAsFloat()

Lee el contenido de texto en la posición actual como número de punto flotante de precisión sencilla.

ReadContentAsInt()

Lee el contenido de texto en la posición actual como un entero de 32 bits con signo.

ReadContentAsLong()

Lee el contenido de texto en la posición actual como un entero de 64 bits con signo.

ReadContentAsObject()

Lee el contenido de texto en la posición actual como Object.

ReadContentAsObjectAsync()

Lee asincrónicamente el contenido de texto en la posición actual como un objeto Object.

ReadContentAsString()

Lee el contenido de texto en la posición actual como un objeto String.

ReadContentAsStringAsync()

Lee asincrónicamente el contenido de texto en la posición actual como un objeto String.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Lee el contenido de los elementos como el tipo solicitado.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Comprueba que el nombre local especificado y el URI de espacio de nombres coinciden con los del elemento actual y, a continuación, lee el contenido de los elementos como el tipo solicitado.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Lee asincrónicamente el contenido del elemento como el tipo solicitado.

ReadElementContentAsBase64(Byte[], Int32, Int32)

Lee el elemento y descodifica el contenido de Base64.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

Lee asincrónicamente el elemento y descodifica el contenido de Base64.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

Lee el elemento y descodifica el contenido de BinHex.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Lee asincrónicamente el elemento y descodifica el contenido de BinHex.

ReadElementContentAsBoolean()

Lee el elemento actual y devuelve el contenido como un objeto Boolean.

ReadElementContentAsBoolean(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee este elemento y devuelve el contenido como objeto Boolean.

ReadElementContentAsDateTime()

Lee el elemento actual y devuelve el contenido como un objeto DateTime.

ReadElementContentAsDateTime(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee este elemento y devuelve el contenido como objeto DateTime.

ReadElementContentAsDecimal()

Lee el elemento actual y devuelve el contenido como un objeto Decimal.

ReadElementContentAsDecimal(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee este elemento y devuelve el contenido como objeto Decimal.

ReadElementContentAsDouble()

Lee el elemento actual y devuelve el contenido como número de punto flotante de precisión doble.

ReadElementContentAsDouble(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee este elemento y devuelve el contenido como número de punto flotante de precisión doble.

ReadElementContentAsFloat()

Lee el elemento actual y devuelve el contenido como número de punto flotante de precisión sencilla.

ReadElementContentAsFloat(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee este elemento y devuelve el contenido como número de punto flotante de precisión sencilla.

ReadElementContentAsInt()

Lee el elemento actual y devuelve el contenido como un entero de 32 bits con signo.

ReadElementContentAsInt(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee el elemento actual y devuelve el contenido como entero de 32 bits con signo.

ReadElementContentAsLong()

Lee el elemento actual y devuelve el contenido como entero de 64 bits con signo.

ReadElementContentAsLong(String, String)

Comprueba que el nombre local y el identificador URI del espacio de nombres especificados coinciden con los del elemento actual, luego lee el elemento actual y devuelve el contenido como entero de 64 bits con signo.

ReadElementContentAsObject()

Lee el elemento actual y devuelve el contenido como objeto Object.

ReadElementContentAsObject(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee este elemento y devuelve el contenido como objeto Object.

ReadElementContentAsObjectAsync()

Lee asincrónicamente el elemento actual y devuelve el contenido como objeto Object.

ReadElementContentAsString()

Lee el elemento actual y devuelve el contenido como un objeto String.

ReadElementContentAsString(String, String)

Comprueba que el nombre local especificado y el URI del espacio de nombres coinciden con los del elemento actual y, a continuación, lee este elemento y devuelve el contenido como objeto String.

ReadElementContentAsStringAsync()

Lee asincrónicamente el elemento actual y devuelve el contenido como un objeto String.

ReadElementString()

Lee un elemento de solo texto. Sin embargo, se recomienda usar el método ReadElementContentAsString() en su lugar, porque proporciona una manera más sencilla de controlar esta operación.

ReadElementString(String)

Comprueba si la propiedad Name del elemento encontrado coincide con la cadena especificada antes de leer un elemento de sólo texto. Sin embargo, se recomienda usar el método ReadElementContentAsString() en su lugar, porque proporciona una manera más sencilla de controlar esta operación.

ReadElementString(String, String)

Comprueba si las propiedades LocalName y NamespaceURI del elemento encontrado coinciden con las cadenas especificadas antes de leer un elemento de sólo texto. Sin embargo, se recomienda usar el método ReadElementContentAsString(String, String) en su lugar, porque proporciona una manera más sencilla de controlar esta operación.

ReadEndElement()

Comprueba si el nodo de contenido actual es una etiqueta de cierre y desplaza el lector hasta el siguiente nodo.

ReadInnerXml()

Cuando se invalida en una clase derivada, lee todo el contenido, incluido el marcado, como una cadena.

ReadInnerXmlAsync()

De forma asincrónica lee todo el contenido, incluido el marcado, como una cadena.

ReadOuterXml()

Cuando se invalida en una clase derivada, lee el contenido, incluido el marcado, que representa este nodo y todos sus nodos secundarios.

ReadOuterXmlAsync()

De forma asincrónica lee el contenido, incluido el marcado, que representa este nodo y todos sus elementos secundarios.

ReadStartElement()

Comprueba si el nodo actual es un elemento y hace avanzar el sistema de lectura hasta el siguiente nodo.

ReadStartElement(String)

Comprueba si el nodo de contenido actual es un elemento con la propiedad Name especificada y desplaza el lector hasta el siguiente nodo.

ReadStartElement(String, String)

Comprueba si el nodo de contenido actual es un elemento con las propiedades LocalName y NamespaceURI especificadas y desplaza el lector hasta el siguiente nodo.

ReadString()

Cuando se reemplaza en una clase derivada, lee el contenido de un nodo de elemento o de texto como una cadena. Sin embargo, se recomienda usar el método ReadElementContentAsString en su lugar, porque proporciona una manera más sencilla de controlar esta operación.

ReadSubtree()

Devuelve una nueva instancia de XmlReader que se puede utilizar para leer el nodo actual y todos sus descendientes.

ReadToDescendant(String)

Hace avanzar el objeto XmlReader hasta al siguiente elemento descendiente con el nombre completo especificado.

ReadToDescendant(String, String)

Hace avanzar el objeto XmlReader hasta el siguiente elemento descendiente que tenga el URI de espacio de nombres y el nombre local especificados.

ReadToFollowing(String)

Lee hasta que encuentra un elemento con el nombre completo especificado.

ReadToFollowing(String, String)

Lee hasta que encuentra un elemento con el nombre local y el URI de espacio de nombres especificados.

ReadToNextSibling(String)

Hace avanzar el objeto XmlReader hasta al siguiente elemento relacionado con el nombre completo especificado.

ReadToNextSibling(String, String)

Hace avanzar el objeto XmlReader al siguiente elemento del mismo nivel que tenga el URI del espacio de nombres y el nombre local especificados.

ReadValueChunk(Char[], Int32, Int32)

Lee grandes secuencias de texto incrustadas en un documento XML.

ReadValueChunkAsync(Char[], Int32, Int32)

Lee asincrónicamente grandes secuencias de texto incrustadas en un documento XML.

ResolveEntity()

Cuando se invalida en una clase derivada, resuelve la referencia a entidad para los nodos EntityReference.

Skip()

Omite los nodos secundarios del nodo actual.

SkipAsync()

Omite de forma asincrónica los elementos secundarios del valor del nodo actual.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Para obtener una descripción de este miembro, vea Dispose().

Se aplica a

Consulte también