XmlReader Třída

Definice

Představuje čtenáře, který poskytuje rychlý přístup k datům XML, bez mezipaměti.

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 parsování 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 naleznete v tématu Doplňkové poznámky k rozhraní API pro XmlReader.

Konstruktory

Name Description
XmlReader()

Inicializuje novou instanci XmlReader třídy.

Vlastnosti

Name Description
AttributeCount

Při přepsání v odvozené třídě získá počet atributů v 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 určující, zda XmlReader implementuje binární obsah read metody.

CanReadValueChunk

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

CanResolveEntity

Získá hodnotu označující, zda může tato čtečka analyzovat a překládat 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 čtenář umístěn na konci datového proudu.

HasAttributes

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

HasValue

Při přepsání v odvozené třídě získá hodnotu urč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 generová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í, zda je aktuální uzel prázdný prvek (například <MyElement/>).

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ým LocalName a NamespaceURI.

Item[String]

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

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ů (definovaný ve specifikaci oboru názvů W3C) uzlu, na kterém je čtenář umístěn.

NameTable

Při přepsání v odvozené třídě získá XmlNameTable přidružené k 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 uvozovky použitý 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á typ CLR (Common Language Runtime) 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

Name Description
Close()

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

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ých informací pro analýzu.

Create(Stream, XmlReaderSettings)

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

Create(Stream)

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

Create(String, XmlReaderSettings, XmlParserContext)

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

Create(String, XmlReaderSettings)

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

Create(String)

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

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é čtečky textu, nastavení a kontextových informací pro analýzu.

Create(TextReader, XmlReaderSettings)

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

Create(TextReader)

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

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é XmlReader a volitelně uvolní spravované prostředky.

Equals(Object)

Určuje, zda je zadaný objekt roven 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, String)

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

GetAttribute(String)

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

GetHashCode()

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

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

IsName(String)

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

IsNameToken(String)

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

IsStartElement()

Volá MoveToContent() a testuje, jestli je aktuální uzel obsahu počáteční značkou nebo prázdnou značkou elementu.

IsStartElement(String, String)

Volá MoveToContent() a testuje, zda je aktuální uzel obsahu počáteční značkou nebo prázdnou značkou elementu a pokud nalezené LocalName vlastnosti NamespaceURI odpovídají zadaným řetězcům.

IsStartElement(String)

Volá MoveToContent() a testuje, zda je aktuální uzel obsahu počáteční značkou nebo prázdnou značkou elementu a pokud Name vlastnost nalezeného prvku odpovídá danému argumentu.

LookupNamespace(String)

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

MemberwiseClone()

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

(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, String)

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

MoveToAttribute(String)

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

MoveToContent()

Zkontroluje, jestli je aktuální uzel obsahem (bez prázdného textu, CDATA, Element, EndElement, EntityReferencenebo EndEntity) uzlu. 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, Whitespace, nebo SignificantWhitespace.

MoveToContentAsync()

Asynchronně zkontroluje, jestli je aktuální uzel uzlem obsahu. 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 na prvek, který obsahuje aktuální uzel 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ě přečte další uzel z datového proudu.

ReadAsync()

Asynchronně č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 Text, EntityReferencenebo EndEntity uzlů.

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í dekódované binární bajty Base64.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Asynchronně přečte obsah a vrátí dekódované binární bajty 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í desetinnou čárkou s dvojitou přesností.

ReadContentAsFloat()

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

ReadContentAsInt()

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

ReadContentAsLong()

Přečte textový obsah na aktuální pozici jako 64bitové celé číslo se signedm.

ReadContentAsObject()

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

ReadContentAsObjectAsync()

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

ReadContentAsString()

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

ReadContentAsStringAsync()

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

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

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

ReadElementContentAs(Type, IXmlNamespaceResolver)

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

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

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

ReadElementContentAsBase64(Byte[], Int32, Int32)

Přečte prvek 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 prvek 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, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přečte aktuální prvek 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, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přeč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, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přeč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í desetinnou čárkou s dvojitou přesností.

ReadElementContentAsDouble(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přeč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í desetinnou čárkou s jednoduchou přesností.

ReadElementContentAsFloat(String, String)

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

ReadElementContentAsInt()

Přečte aktuální prvek a vrátí obsah jako 32bitové signed celé číslo.

ReadElementContentAsInt(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přečte aktuální prvek a vrátí obsah jako 32bitové signed integer.

ReadElementContentAsLong()

Přečte aktuální prvek a vrátí obsah jako 64bitové signed integer.

ReadElementContentAsLong(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přečte aktuální prvek a vrátí obsah jako 64bitové celé číslo se signed.

ReadElementContentAsObject()

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

ReadElementContentAsObject(String, String)

Zkontroluje, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přečte aktuální prvek 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, zda zadaný místní název a identifikátor URI oboru názvů odpovídá aktuálnímu prvku, pak přeč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()

Přečte textový prvek. Místo toho však doporučujeme použít metodu ReadElementContentAsString() , protože poskytuje jednodušší způsob, jak tuto operaci zpracovat.

ReadElementString(String, String)

Zkontroluje, zda LocalName nalezené prvky a NamespaceURI vlastnosti odpovídají zadaným řetězcům před čtením textového prvku. Místo toho však doporučujeme použít metodu ReadElementContentAsString(String, String) , protože poskytuje jednodušší způsob, jak tuto operaci zpracovat.

ReadElementString(String)

Zkontroluje, že Name vlastnost nalezeného prvku odpovídá danému řetězci před čtením textového prvku. Místo toho však doporučujeme použít metodu ReadElementContentAsString() , protože poskytuje jednodušší způsob, jak tuto operaci zpracovat.

ReadEndElement()

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

ReadInnerXml()

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

ReadInnerXmlAsync()

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

ReadOuterXml()

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

ReadOuterXmlAsync()

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

ReadStartElement()

Zkontroluje, jestli je aktuální uzel prvkem a přejde čtenáře na další uzel.

ReadStartElement(String, String)

Zkontroluje, že aktuální uzel obsahu je prvek se zadaným LocalName uzlem a NamespaceURI přejde čtenáře na další uzel.

ReadStartElement(String)

Zkontroluje, že aktuální uzel obsahu je prvek s daným Name prvkem a přejde č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. Místo toho však doporučujeme použít metodu ReadElementContentAsString , protože poskytuje jednodušší způsob, jak tuto operaci zpracovat.

ReadSubtree()

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

ReadToDescendant(String, String)

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

ReadToDescendant(String)

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

ReadToFollowing(String, String)

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

ReadToFollowing(String)

Přečte, dokud se nenajde prvek se zadaným kvalifikovaným názvem.

ReadToNextSibling(String, String)

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

ReadToNextSibling(String)

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

ReadValueChunk(Char[], Int32, Int32)

Čte velké datové 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í

Name Description
IDisposable.Dispose()

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

Platí pro

Viz také