XmlReader Classe

Definizione

Rappresenta un lettore che fornisce accesso rapido, non memorizzato in modalità forward-only ai dati 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
Ereditarietà
XmlReader
Derivato
Implementazioni

Esempio

Il codice di esempio seguente illustra come usare l'API asincrona per analizzare 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

Commenti

Per altre informazioni su questa API, vedere Osservazioni supplementari sull'API per XmlReader.

Costruttori

Nome Descrizione
XmlReader()

Inizializza una nuova istanza della classe XmlReader.

Proprietà

Nome Descrizione
AttributeCount

In caso di override in una classe derivata, ottiene il numero di attributi nel nodo corrente.

BaseURI

In caso di override in una classe derivata, ottiene l'URI di base del nodo corrente.

CanReadBinaryContent

Ottiene un valore che indica se XmlReader implementa i metodi di lettura del contenuto binario.

CanReadValueChunk

Ottiene un valore che indica se implementa XmlReader il ReadValueChunk(Char[], Int32, Int32) metodo .

CanResolveEntity

Ottiene un valore che indica se questo lettore può analizzare e risolvere le entità.

Depth

Quando sottoposto a override in una classe derivata, ottiene la profondità del nodo corrente nel documento XML.

EOF

Quando sottoposto a override in una classe derivata, ottiene un valore che indica se il lettore è posizionato alla fine del flusso.

HasAttributes

Ottiene un valore che indica se il nodo corrente dispone di attributi.

HasValue

In caso di override in una classe derivata, ottiene un valore che indica se il nodo corrente può avere un oggetto Value.

IsDefault

In caso di override in una classe derivata, ottiene un valore che indica se il nodo corrente è un attributo generato dal valore predefinito definito nel DTD o nello schema.

IsEmptyElement

In caso di override in una classe derivata, ottiene un valore che indica se il nodo corrente è un elemento vuoto , ad esempio <MyElement/>.

Item[Int32]

In caso di override in una classe derivata, ottiene il valore dell'attributo con l'indice specificato.

Item[String, String]

In caso di override in una classe derivata, ottiene il valore dell'attributo con l'oggetto specificato LocalName e NamespaceURI.

Item[String]

In caso di override in una classe derivata, ottiene il valore dell'attributo con l'oggetto specificato Name.

LocalName

In caso di override in una classe derivata, ottiene il nome locale del nodo corrente.

Name

In caso di override in una classe derivata, ottiene il nome completo del nodo corrente.

NamespaceURI

In caso di override in una classe derivata, ottiene l'URI dello spazio dei nomi (come definito nella specifica dello spazio dei nomi W3C) del nodo in cui è posizionato il lettore.

NameTable

Quando sottoposto a override in una classe derivata, ottiene l'oggetto XmlNameTable associato a questa implementazione.

NodeType

In caso di override in una classe derivata, ottiene il tipo del nodo corrente.

Prefix

In caso di override in una classe derivata, ottiene il prefisso dello spazio dei nomi associato al nodo corrente.

QuoteChar

In caso di override in una classe derivata, ottiene il carattere di virgolette utilizzato per racchiudere il valore di un nodo attributo.

ReadState

Quando sottoposto a override in una classe derivata, ottiene lo stato del lettore.

SchemaInfo

Ottiene le informazioni sullo schema assegnate al nodo corrente in seguito alla convalida dello schema.

Settings

Ottiene l'oggetto XmlReaderSettings utilizzato per creare questa XmlReader istanza.

Value

In caso di override in una classe derivata, ottiene il valore di testo del nodo corrente.

ValueType

Ottiene il tipo CLR (Common Language Runtime) per il nodo corrente.

XmlLang

In caso di override in una classe derivata, ottiene l'ambito corrente xml:lang .

XmlSpace

In caso di override in una classe derivata, ottiene l'ambito corrente xml:space .

Metodi

Nome Descrizione
Close()

Quando sottoposto a override in una classe derivata, modifica in ReadStateClosed.

Create(Stream, XmlReaderSettings, String)

Crea una nuova XmlReader istanza usando il flusso, l'URI di base e le impostazioni specificati.

Create(Stream, XmlReaderSettings, XmlParserContext)

Crea una nuova XmlReader istanza usando il flusso, le impostazioni e le informazioni di contesto specificate per l'analisi.

Create(Stream, XmlReaderSettings)

Crea una nuova XmlReader istanza con il flusso e le impostazioni specificati.

Create(Stream)

Crea una nuova XmlReader istanza usando il flusso specificato con le impostazioni predefinite.

Create(String, XmlReaderSettings, XmlParserContext)

Crea una nuova XmlReader istanza usando l'URI, le impostazioni e le informazioni sul contesto specificati per l'analisi.

Create(String, XmlReaderSettings)

Crea una nuova XmlReader istanza usando l'URI e le impostazioni specificati.

Create(String)

Crea una nuova XmlReader istanza con l'URI specificato.

Create(TextReader, XmlReaderSettings, String)

Crea una nuova XmlReader istanza usando il lettore di testo, le impostazioni e l'URI di base specificati.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Crea una nuova XmlReader istanza usando il lettore di testo, le impostazioni e le informazioni di contesto specificate per l'analisi.

Create(TextReader, XmlReaderSettings)

Crea una nuova XmlReader istanza usando il lettore di testo e le impostazioni specificati.

Create(TextReader)

Crea una nuova XmlReader istanza utilizzando il lettore di testo specificato.

Create(XmlReader, XmlReaderSettings)

Crea una nuova XmlReader istanza utilizzando il lettore XML e le impostazioni specificati.

Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della XmlReader classe .

Dispose(Boolean)

Rilascia le risorse non gestite usate da XmlReader e, facoltativamente, rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetAttribute(Int32)

In caso di override in una classe derivata, ottiene il valore dell'attributo con l'indice specificato.

GetAttribute(String, String)

In caso di override in una classe derivata, ottiene il valore dell'attributo con l'oggetto specificato LocalName e NamespaceURI.

GetAttribute(String)

In caso di override in una classe derivata, ottiene il valore dell'attributo con l'oggetto specificato Name.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetValueAsync()

Ottiene in modo asincrono il valore del nodo corrente.

IsName(String)

Restituisce un valore che indica se l'argomento stringa è un nome XML valido.

IsNameToken(String)

Restituisce un valore che indica se l'argomento stringa è un token di nome XML valido.

IsStartElement()

Chiama MoveToContent() e verifica se il nodo del contenuto corrente è un tag di inizio o un tag di elemento vuoto.

IsStartElement(String, String)

Chiama MoveToContent() e verifica se il nodo del contenuto corrente è un tag di inizio o un tag di elemento vuoto e se le LocalName proprietà e NamespaceURI dell'elemento trovato corrispondono alle stringhe indicate.

IsStartElement(String)

Chiama MoveToContent() e verifica se il nodo del contenuto corrente è un tag di inizio o un tag di elemento vuoto e se la Name proprietà dell'elemento trovato corrisponde all'argomento specificato.

LookupNamespace(String)

Quando sottoposto a override in una classe derivata, risolve un prefisso dello spazio dei nomi nell'ambito dell'elemento corrente.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MoveToAttribute(Int32)

Quando sottoposto a override in una classe derivata, passa all'attributo con l'indice specificato.

MoveToAttribute(String, String)

Quando sottoposto a override in una classe derivata, passa all'attributo con l'oggetto e LocalNamespecificatoNamespaceURI.

MoveToAttribute(String)

Quando sottoposto a override in una classe derivata, passa all'attributo con l'oggetto specificato Name.

MoveToContent()

Controlla se il nodo corrente è un nodo di contenuto (testo non vuoto, CDATA, ElementEndElementEntityReference, , o ).EndEntity Se il nodo non è un nodo di contenuto, il lettore passa al nodo di contenuto successivo o alla fine del file. Ignora i nodi del tipo seguente: ProcessingInstruction, DocumentType, CommentWhitespace, o SignificantWhitespace.

MoveToContentAsync()

Controlla in modo asincrono se il nodo corrente è un nodo di contenuto. Se il nodo non è un nodo di contenuto, il lettore passa al nodo di contenuto successivo o alla fine del file.

MoveToElement()

Quando sottoposto a override in una classe derivata, passa all'elemento che contiene il nodo dell'attributo corrente.

MoveToFirstAttribute()

Quando sottoposto a override in una classe derivata, passa al primo attributo.

MoveToNextAttribute()

Quando sottoposto a override in una classe derivata, passa all'attributo successivo.

Read()

Quando sottoposto a override in una classe derivata, legge il nodo successivo dal flusso.

ReadAsync()

Legge in modo asincrono il nodo successivo dal flusso.

ReadAttributeValue()

Quando sottoposto a override in una classe derivata, analizza il valore dell'attributo in uno o più Textnodi , EntityReferenceo EndEntity .

ReadContentAs(Type, IXmlNamespaceResolver)

Legge il contenuto come oggetto del tipo specificato.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

Legge in modo asincrono il contenuto come oggetto del tipo specificato.

ReadContentAsBase64(Byte[], Int32, Int32)

Legge il contenuto e restituisce i byte binari decodificati Base64.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Legge in modo asincrono il contenuto e restituisce i byte binari decodificati Base64.

ReadContentAsBinHex(Byte[], Int32, Int32)

Legge il contenuto e restituisce i BinHex byte binari decodificati.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

Legge in modo asincrono il contenuto e restituisce i BinHex byte binari decodificati.

ReadContentAsBoolean()

Legge il contenuto di testo nella posizione corrente come .Boolean

ReadContentAsDateTime()

Legge il contenuto di testo nella posizione corrente come DateTime oggetto .

ReadContentAsDateTimeOffset()

Legge il contenuto di testo nella posizione corrente come DateTimeOffset oggetto .

ReadContentAsDecimal()

Legge il contenuto di testo nella posizione corrente come Decimal oggetto .

ReadContentAsDouble()

Legge il contenuto di testo nella posizione corrente come numero a virgola mobile e precisione doppia.

ReadContentAsFloat()

Legge il contenuto di testo nella posizione corrente come numero a virgola mobile a precisione singola.

ReadContentAsInt()

Legge il contenuto di testo nella posizione corrente come intero con segno a 32 bit.

ReadContentAsLong()

Legge il contenuto di testo nella posizione corrente come intero con segno a 64 bit.

ReadContentAsObject()

Legge il contenuto di testo nella posizione corrente come .Object

ReadContentAsObjectAsync()

Legge in modo asincrono il contenuto di testo nella posizione corrente come .Object

ReadContentAsString()

Legge il contenuto di testo nella posizione corrente come String oggetto .

ReadContentAsStringAsync()

Legge in modo asincrono il contenuto di testo nella posizione corrente come String oggetto .

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge il contenuto dell'elemento come tipo richiesto.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Legge il contenuto dell'elemento come tipo richiesto.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Legge in modo asincrono il contenuto dell'elemento come tipo richiesto.

ReadElementContentAsBase64(Byte[], Int32, Int32)

Legge l'elemento e decodifica il Base64 contenuto.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

Legge in modo asincrono l'elemento e decodifica il Base64 contenuto.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

Legge l'elemento e decodifica il BinHex contenuto.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Legge in modo asincrono l'elemento e decodifica il BinHex contenuto.

ReadElementContentAsBoolean()

Legge l'elemento corrente e restituisce il contenuto come Boolean oggetto .

ReadElementContentAsBoolean(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come Boolean oggetto .

ReadElementContentAsDateTime()

Legge l'elemento corrente e restituisce il contenuto come DateTime oggetto .

ReadElementContentAsDateTime(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come DateTime oggetto .

ReadElementContentAsDecimal()

Legge l'elemento corrente e restituisce il contenuto come Decimal oggetto .

ReadElementContentAsDecimal(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come Decimal oggetto .

ReadElementContentAsDouble()

Legge l'elemento corrente e restituisce il contenuto come numero a virgola mobile e precisione doppia.

ReadElementContentAsDouble(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come numero a virgola mobile e precisione doppia.

ReadElementContentAsFloat()

Legge l'elemento corrente e restituisce il contenuto come numero a virgola mobile e precisione singola.

ReadElementContentAsFloat(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come numero a virgola mobile e precisione singola.

ReadElementContentAsInt()

Legge l'elemento corrente e restituisce il contenuto come intero con segno a 32 bit.

ReadElementContentAsInt(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come intero con segno a 32 bit.

ReadElementContentAsLong()

Legge l'elemento corrente e restituisce il contenuto come intero con segno a 64 bit.

ReadElementContentAsLong(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come intero con segno a 64 bit.

ReadElementContentAsObject()

Legge l'elemento corrente e restituisce il contenuto come .Object

ReadElementContentAsObject(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come .Object

ReadElementContentAsObjectAsync()

Legge in modo asincrono l'elemento corrente e restituisce il contenuto come .Object

ReadElementContentAsString()

Legge l'elemento corrente e restituisce il contenuto come String oggetto .

ReadElementContentAsString(String, String)

Verifica che il nome locale e l'URI dello spazio dei nomi specificati corrispondano a quello dell'elemento corrente, quindi legge l'elemento corrente e restituisce il contenuto come String oggetto .

ReadElementContentAsStringAsync()

Legge in modo asincrono l'elemento corrente e restituisce il contenuto come String oggetto .

ReadElementString()

Legge un elemento solo testo. Tuttavia, è consigliabile usare il ReadElementContentAsString() metodo , perché offre un modo più semplice per gestire questa operazione.

ReadElementString(String, String)

Verifica che le LocalName proprietà e NamespaceURI dell'elemento trovato corrispondano alle stringhe indicate prima di leggere un elemento di solo testo. Tuttavia, è consigliabile usare il ReadElementContentAsString(String, String) metodo , perché offre un modo più semplice per gestire questa operazione.

ReadElementString(String)

Verifica che la Name proprietà dell'elemento trovato corrisponda alla stringa specificata prima di leggere un elemento di sola lettura. Tuttavia, è consigliabile usare il ReadElementContentAsString() metodo , perché offre un modo più semplice per gestire questa operazione.

ReadEndElement()

Verifica che il nodo del contenuto corrente sia un tag di fine e sposta il lettore al nodo successivo.

ReadInnerXml()

Quando sottoposto a override in una classe derivata, legge tutto il contenuto, incluso il markup, come stringa.

ReadInnerXmlAsync()

Legge in modo asincrono tutto il contenuto, incluso il markup, come stringa.

ReadOuterXml()

Quando sottoposto a override in una classe derivata, legge il contenuto, incluso il markup, che rappresenta questo nodo e tutti i relativi elementi figlio.

ReadOuterXmlAsync()

Legge in modo asincrono il contenuto, incluso il markup, che rappresenta questo nodo e tutti i relativi elementi figlio.

ReadStartElement()

Verifica che il nodo corrente sia un elemento e sposta il lettore al nodo successivo.

ReadStartElement(String, String)

Verifica che il nodo del contenuto corrente sia un elemento con l'oggetto specificato LocalName e NamespaceURI sposta il lettore al nodo successivo.

ReadStartElement(String)

Verifica che il nodo del contenuto corrente sia un elemento con l'oggetto specificato Name e sposta il lettore al nodo successivo.

ReadString()

Quando sottoposto a override in una classe derivata, legge il contenuto di un elemento o di un nodo di testo come stringa. Tuttavia, è consigliabile usare il ReadElementContentAsString metodo , perché offre un modo più semplice per gestire questa operazione.

ReadSubtree()

Restituisce una nuova XmlReader istanza che può essere usata per leggere il nodo corrente e tutti i relativi discendenti.

ReadToDescendant(String, String)

Sposta l'oggetto XmlReader all'elemento discendente successivo con il nome locale e l'URI dello spazio dei nomi specificati.

ReadToDescendant(String)

Sposta l'oggetto XmlReader all'elemento discendente successivo con il nome completo specificato.

ReadToFollowing(String, String)

Legge fino a quando non viene trovato un elemento con il nome locale e l'URI dello spazio dei nomi specificati.

ReadToFollowing(String)

Legge fino a quando non viene trovato un elemento con il nome completo specificato.

ReadToNextSibling(String, String)

Sposta l'oggetto XmlReader all'elemento di pari livello successivo con il nome locale e l'URI dello spazio dei nomi specificati.

ReadToNextSibling(String)

Sposta l'oggetto XmlReader all'elemento di pari livello successivo con il nome completo specificato.

ReadValueChunk(Char[], Int32, Int32)

Legge flussi di testo di grandi dimensioni incorporati in un documento XML.

ReadValueChunkAsync(Char[], Int32, Int32)

Legge in modo asincrono flussi di testo di grandi dimensioni incorporati in un documento XML.

ResolveEntity()

Quando sottoposto a override in una classe derivata, risolve il riferimento all'entità per EntityReference i nodi.

Skip()

Ignora gli elementi figlio del nodo corrente.

SkipAsync()

Ignora in modo asincrono gli elementi figlio del nodo corrente.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IDisposable.Dispose()

Per una descrizione di questo membro, vedere Dispose().

Si applica a

Vedi anche