Sdílet prostřednictvím


XmlReader Třída

Definice

Představuje čtecí modul, který poskytuje rychlý dopředný přístup bez mezipaměti k datům 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
Dědičnost
XmlReader
Odvozené
Implementuje

Příklady

Následující příklad kódu ukazuje, jak použít asynchronní rozhraní API k analýze 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

Poznámky

Další informace o tomto rozhraní API najdete v tématu Doplňkové poznámky k rozhraní API pro XmlReader.

Konstruktory

XmlReader()

Inicializuje novou instanci XmlReader třídy .

Vlastnosti

AttributeCount

Při přepsání v odvozené třídě získá počet atributů na aktuálním uzlu.

BaseURI

Při přepsání v odvozené třídě získá základní identifikátor URI aktuálního uzlu.

CanReadBinaryContent

Získá hodnotu označující, zda XmlReader implementuje metody čtení binárního obsahu.

CanReadValueChunk

Získá hodnotu označující, zda XmlReader implementuje metodu ReadValueChunk(Char[], Int32, Int32) .

CanResolveEntity

Získá hodnotu označující, zda tento čtenář může analyzovat a řešit entity.

Depth

Při přepsání v odvozené třídě získá hloubku aktuálního uzlu v dokumentu XML.

EOF

Při přepsání v odvozené třídě získá hodnotu označující, zda je čtečka umístěna na konci datového proudu.

HasAttributes

Získá hodnotu označující, zda má aktuální uzel nějaké atributy.

HasValue

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální uzel může mít Value.

IsDefault

Při přepsání v odvozené třídě získá hodnotu určující, zda aktuální uzel je atribut, který byl vygenerován z výchozí hodnoty definované v DTD nebo schématu.

IsEmptyElement

Při přepsání v odvozené třídě získá hodnotu označující, <MyElement/>jestli je aktuální uzel prázdný prvek (například ).

Item[Int32]

Při přepsání v odvozené třídě získá hodnotu atributu se zadaným indexem.

Item[String, String]

Při přepsání v odvozené třídě získá hodnotu atributu se zadanými LocalName a NamespaceURI.

Item[String]

Při přepsání v odvozené třídě získá hodnotu atributu se zadaným Nameparametrem .

LocalName

Při přepsání v odvozené třídě získá místní název aktuálního uzlu.

Name

Při přepsání v odvozené třídě získá kvalifikovaný název aktuálního uzlu.

NamespaceURI

Při přepsání v odvozené třídě získá identifikátor URI oboru názvů (jak je definováno ve specifikaci oboru názvů W3C) uzlu, na kterém je umístěn čtenář.

NameTable

Při přepsání v odvozené třídě získá přidružený k XmlNameTable této implementaci.

NodeType

Při přepsání v odvozené třídě získá typ aktuálního uzlu.

Prefix

Při přepsání v odvozené třídě získá předponu oboru názvů přidruženou k aktuálnímu uzlu.

QuoteChar

Při přepsání v odvozené třídě získá znak uvozovek, který se používá k uzavření hodnoty uzlu atributu.

ReadState

Při přepsání v odvozené třídě získá stav čtenáře.

SchemaInfo

Získá informace o schématu, které byly přiřazeny k aktuálnímu uzlu v důsledku ověření schématu.

Settings

XmlReaderSettings Získá objekt použitý k vytvoření této XmlReader instance.

Value

Při přepsání v odvozené třídě získá textovou hodnotu aktuálního uzlu.

ValueType

Získá common language runtime (CLR) typ pro aktuální uzel.

XmlLang

Při přepsání v odvozené třídě získá aktuální xml:lang obor.

XmlSpace

Při přepsání v odvozené třídě získá aktuální xml:space obor.

Metody

Close()

Při přepsání v odvozené třídě se změní na ReadStateClosed.

Create(Stream)

Vytvoří novou XmlReader instanci pomocí zadaného datového proudu s výchozím nastavením.

Create(Stream, XmlReaderSettings)

Vytvoří novou XmlReader instanci se zadaným datovým proudem a nastavením.

Create(Stream, XmlReaderSettings, String)

Vytvoří novou XmlReader instanci pomocí zadaného datového proudu, základního identifikátoru URI a nastavení.

Create(Stream, XmlReaderSettings, XmlParserContext)

Vytvoří novou XmlReader instanci pomocí zadaného datového proudu, nastavení a kontextové informace pro parsování.

Create(String)

Vytvoří novou XmlReader instanci se zadaným identifikátorem URI.

Create(String, XmlReaderSettings)

Vytvoří novou XmlReader instanci pomocí zadaného identifikátoru URI a nastavení.

Create(String, XmlReaderSettings, XmlParserContext)

Vytvoří novou XmlReader instanci pomocí zadaného identifikátoru URI, nastavení a kontextových informací pro parsování.

Create(TextReader)

Vytvoří novou XmlReader instanci pomocí zadaného čtečky textu.

Create(TextReader, XmlReaderSettings)

Vytvoří novou XmlReader instanci pomocí zadané čtečky textu a nastavení.

Create(TextReader, XmlReaderSettings, String)

Vytvoří novou XmlReader instanci pomocí zadané čtečky textu, nastavení a základního identifikátoru URI.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Vytvoří novou XmlReader instanci pomocí zadaného čtečky textu, nastavení a kontextové informace pro parsování.

Create(XmlReader, XmlReaderSettings)

Vytvoří novou XmlReader instanci pomocí zadané čtečky XML a nastavení.

Dispose()

Uvolní všechny prostředky používané aktuální instancí XmlReader třídy .

Dispose(Boolean)

Uvolní nespravované prostředky používané nástrojem XmlReader a volitelně uvolní spravované prostředky.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetAttribute(Int32)

Při přepsání v odvozené třídě získá hodnotu atributu se zadaným indexem.

GetAttribute(String)

Při přepsání v odvozené třídě získá hodnotu atributu se zadaným Nameparametrem .

GetAttribute(String, String)

Při přepsání v odvozené třídě získá hodnotu atributu se zadanými LocalName a NamespaceURI.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetValueAsync()

Asynchronně získá hodnotu aktuálního uzlu.

IsName(String)

Vrátí hodnotu označující, zda je argument řetězce platným názvem XML.

IsNameToken(String)

Vrátí hodnotu označující, zda je argument řetězce platným tokenem názvu XML.

IsStartElement()

Zavolá MoveToContent() a otestuje, jestli je aktuální uzel obsahu značkou Start nebo prázdnou značkou elementu.

IsStartElement(String)

Zavolá MoveToContent() a otestuje, jestli je aktuální uzel obsahu značkou start nebo prázdnou značkou elementu a jestli Name vlastnost nalezeného prvku odpovídá danému argumentu.

IsStartElement(String, String)

Zavolá MoveToContent() a otestuje, jestli je aktuální uzel obsahu značkou start nebo prázdnou značkou elementu a jestli LocalNameNamespaceURI nalezené vlastnosti elementu odpovídají zadaným řetězcům.

LookupNamespace(String)

Při přepsání v odvozené třídě přeloží předponu oboru názvů v oboru aktuálního prvku.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MoveToAttribute(Int32)

Při přepsání v odvozené třídě se přesune na atribut se zadaným indexem.

MoveToAttribute(String)

Při přepsání v odvozené třídě se přesune na atribut se zadaným Nameparametrem .

MoveToAttribute(String, String)

Při přepsání v odvozené třídě se přesune na atribut se zadanými LocalName vlastnostmi a NamespaceURI.

MoveToContent()

Zkontroluje, jestli je aktuálním uzlem obsah (text bez prázdných znaků, CDATA, Element, EndElement, EntityReferencenebo EndEntity). Pokud uzel není uzel obsahu, čtenář přeskočí dopředu na další uzel obsahu nebo konec souboru. Přeskočí uzly následujícího typu: ProcessingInstruction, DocumentType, Comment, Whitespacenebo SignificantWhitespace.

MoveToContentAsync()

Asynchronně zkontroluje, jestli je aktuální uzel obsahovým uzlem. Pokud uzel není uzel obsahu, čtenář přeskočí dopředu na další uzel obsahu nebo konec souboru.

MoveToElement()

Při přepsání v odvozené třídě se přesune do elementu, který obsahuje uzel aktuálního atributu.

MoveToFirstAttribute()

Při přepsání v odvozené třídě se přesune na první atribut.

MoveToNextAttribute()

Při přepsání v odvozené třídě se přesune na další atribut.

Read()

Při přepsání v odvozené třídě načte další uzel z datového proudu.

ReadAsync()

Asynchronně přečte další uzel z datového proudu.

ReadAttributeValue()

Při přepsání v odvozené třídě parsuje hodnotu atributu do jednoho nebo více Textuzlů , EntityReferencenebo EndEntity .

ReadContentAs(Type, IXmlNamespaceResolver)

Přečte obsah jako objekt zadaného typu.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

Asynchronně čte obsah jako objekt zadaného typu.

ReadContentAsBase64(Byte[], Int32, Int32)

Přečte obsah a vrátí binární bajty dekódované base64.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Asynchronně přečte obsah a vrátí binární bajty dekódované Base64.

ReadContentAsBinHex(Byte[], Int32, Int32)

Přečte obsah a vrátí BinHex dekódované binární bajty.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

Asynchronně přečte obsah a vrátí BinHex dekódované binární bajty.

ReadContentAsBoolean()

Přečte textový obsah na aktuální pozici jako Boolean.

ReadContentAsDateTime()

Přečte textový obsah na aktuální pozici jako DateTime objekt.

ReadContentAsDateTimeOffset()

Přečte textový obsah na aktuální pozici jako DateTimeOffset objekt.

ReadContentAsDecimal()

Přečte textový obsah na aktuální pozici jako Decimal objekt.

ReadContentAsDouble()

Přečte textový obsah na aktuální pozici jako číslo s plovoucí desetinou čárkou s dvojitou přesností.

ReadContentAsFloat()

Přečte textový obsah na aktuální pozici jako číslo s plovoucí desetinou čárkou s jednoduchou přesností.

ReadContentAsInt()

Přečte textový obsah na aktuální pozici jako 32bitové celé číslo se signedýmm systémem.

ReadContentAsLong()

Čte textový obsah na aktuální pozici jako 64bitové celé číslo se signedýmm systémem.

ReadContentAsObject()

Přečte textový obsah na aktuální pozici jako Object.

ReadContentAsObjectAsync()

Asynchronně přečte textový obsah na aktuální pozici jako Object.

ReadContentAsString()

Přečte textový obsah na aktuální pozici jako String objekt.

ReadContentAsStringAsync()

Asynchronně čte textový obsah na aktuální pozici jako String objekt.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Přečte obsah elementu jako požadovaný typ.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, a pak přečte obsah elementu jako požadovaný typ.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Asynchronně přečte obsah elementu jako požadovaný typ.

ReadElementContentAsBase64(Byte[], Int32, Int32)

Přečte element a dekóduje Base64 obsah.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

Asynchronně přečte prvek a dekóduje Base64 obsah.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

Přečte element a dekóduje BinHex obsah.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Asynchronně přečte prvek a dekóduje BinHex obsah.

ReadElementContentAsBoolean()

Přečte aktuální prvek a vrátí obsah jako Boolean objekt.

ReadElementContentAsBoolean(String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, a pak načte aktuální element a vrátí obsah jako Boolean objekt.

ReadElementContentAsDateTime()

Přečte aktuální prvek a vrátí obsah jako DateTime objekt.

ReadElementContentAsDateTime(String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální prvek a vrátí obsah jako DateTime objekt.

ReadElementContentAsDecimal()

Přečte aktuální prvek a vrátí obsah jako Decimal objekt.

ReadElementContentAsDecimal(String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální prvek a vrátí obsah jako Decimal objekt.

ReadElementContentAsDouble()

Přečte aktuální prvek a vrátí obsah jako číslo s plovoucí desetinou čárkou s dvojitou přesností.

ReadElementContentAsDouble(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální prvek a vrátí obsah jako číslo s plovoucí desetinnou čárkou s dvojitou přesností.

ReadElementContentAsFloat()

Přečte aktuální prvek a vrátí obsah jako číslo s plovoucí desetinou čárkou s jednou přesností.

ReadElementContentAsFloat(String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální prvek a vrátí obsah jako číslo s plovoucí desetinnou čárkou s jednou přesností.

ReadElementContentAsInt()

Načte aktuální prvek a vrátí obsah jako 32bitové celé číslo se signoum sadou.

ReadElementContentAsInt(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální prvek a vrátí obsah jako 32bitové celé číslo se signoumi adresou.

ReadElementContentAsLong()

Načte aktuální prvek a vrátí obsah jako 64bitové celé číslo se signoum sadou.

ReadElementContentAsLong(String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální prvek a vrátí obsah jako celé číslo se 64bitovým podpisem.

ReadElementContentAsObject()

Přečte aktuální prvek a vrátí obsah jako Object.

ReadElementContentAsObject(String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální element a vrátí obsah jako Object.

ReadElementContentAsObjectAsync()

Asynchronně přečte aktuální prvek a vrátí obsah jako Object.

ReadElementContentAsString()

Přečte aktuální prvek a vrátí obsah jako String objekt.

ReadElementContentAsString(String, String)

Zkontroluje, jestli zadaný místní název a identifikátor URI oboru názvů odpovídá identifikátoru URI aktuálního elementu, pak načte aktuální prvek a vrátí obsah jako String objekt.

ReadElementContentAsStringAsync()

Asynchronně přečte aktuální prvek a vrátí obsah jako String objekt.

ReadElementString()

Čte prvek jen pro text. Doporučujeme ale místo toho použít metodu ReadElementContentAsString() , protože poskytuje jednodušší způsob zpracování této operace.

ReadElementString(String)

Zkontroluje, jestli Name vlastnost nalezeného elementu odpovídá danému řetězci před čtením elementu jen pro text. Doporučujeme ale místo toho použít metodu ReadElementContentAsString() , protože poskytuje jednodušší způsob zpracování této operace.

ReadElementString(String, String)

Zkontroluje, zda LocalName vlastnosti a NamespaceURI nalezeného elementu odpovídají zadaným řetězcům před čtením elementu jen pro text. Doporučujeme ale místo toho použít metodu ReadElementContentAsString(String, String) , protože poskytuje jednodušší způsob zpracování této operace.

ReadEndElement()

Zkontroluje, jestli je aktuální uzel obsahu koncovou značkou, a posune čtenáře na další uzel.

ReadInnerXml()

Při přepsání v odvozené třídě přečte veškerý obsah, včetně značek, jako řetězec.

ReadInnerXmlAsync()

Asynchronně přečte veškerý obsah, včetně značek, jako řetězec.

ReadOuterXml()

Při přepsání v odvozené třídě přečte obsah, včetně značek, představující tento uzel a všechny jeho podřízené položky.

ReadOuterXmlAsync()

Asynchronně přečte obsah, včetně značek, představující tento uzel a všechny jeho podřízené položky.

ReadStartElement()

Zkontroluje, že aktuální uzel je prvek, a posune čtenáře na další uzel.

ReadStartElement(String)

Zkontroluje, že aktuální uzel obsahu je prvek s daným Name prvkem, a posune čtenáře na další uzel.

ReadStartElement(String, String)

Zkontroluje, že aktuální uzel obsahu je prvek s daným LocalName a NamespaceURI posune čtenáře na další uzel.

ReadString()

Při přepsání v odvozené třídě přečte obsah elementu nebo textového uzlu jako řetězec. Doporučujeme ale místo toho použít metodu ReadElementContentAsString , protože poskytuje jednodušší způsob zpracování této operace.

ReadSubtree()

Vrátí novou XmlReader instanci, kterou lze použít ke čtení aktuálního uzlu a všech jeho potomků.

ReadToDescendant(String)

Přejde na XmlReader další následný prvek se zadaným kvalifikovaným názvem.

ReadToDescendant(String, String)

Přejde na XmlReader další následný prvek se zadaným místním názvem a identifikátorem URI oboru názvů.

ReadToFollowing(String)

Čte, dokud se nenajde prvek se zadaným kvalifikovaným názvem.

ReadToFollowing(String, String)

Čte, dokud se nenajde prvek se zadaným místním názvem a identifikátorem URI oboru názvů.

ReadToNextSibling(String)

Přejde na XmlReader další prvek na stejné se zadaným kvalifikovaným názvem.

ReadToNextSibling(String, String)

Přejde na XmlReader další prvek na stejné úrovni se zadaným místním názvem a identifikátorem URI oboru názvů.

ReadValueChunk(Char[], Int32, Int32)

Čte velké proudy textu vložené do dokumentu XML.

ReadValueChunkAsync(Char[], Int32, Int32)

Asynchronně čte velké datové proudy textu vložené do dokumentu XML.

ResolveEntity()

Při přepsání v odvozené třídě přeloží odkaz na entitu pro EntityReference uzly.

Skip()

Přeskočí podřízené položky aktuálního uzlu.

SkipAsync()

Asynchronně přeskočí podřízené položky aktuálního uzlu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

IDisposable.Dispose()

Popis tohoto člena najdete v tématu Dispose().

Platí pro

Viz také