Auf Englisch lesen

Freigeben über


XmlReader Klasse

Definition

Stellt einen Reader dar, der einen schnellen Zugriff auf XML-Daten bietet, ohne Zwischenspeicher und welcher nur vorwärts möglich ist.

public abstract class XmlReader : IDisposable
public abstract class XmlReader
Vererbung
XmlReader
Abgeleitet
Implementiert

Beispiele

Der folgende Beispielcode zeigt, wie Sie die asynchrone API verwenden, um XML zu analysieren.

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;
            }
        }
    }
}

Hinweise

Weitere Informationen zu dieser API finden Sie unter Ergänzende API-Hinweise für XmlReader.

Konstruktoren

XmlReader()

Initialisiert eine neue Instanz der XmlReader-Klasse.

Eigenschaften

AttributeCount

Ruft beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Attribute für den aktuellen Knoten ab.

BaseURI

Ruft beim Überschreiben in einer abgeleiteten Klasse den Basis-URI des aktuellen Knotens ab.

CanReadBinaryContent

Ruft einen Wert ab, der angibt, ob der XmlReader die Methoden für das Lesen von Inhalt im Binärformat implementiert.

CanReadValueChunk

Ruft einen Wert ab, der angibt, ob der XmlReader die angegebene ReadValueChunk(Char[], Int32, Int32)-Methode implementiert.

CanResolveEntity

Ruft einen Wert ab, der angibt, ob dieser Reader Entitäten analysieren und auflösen kann.

Depth

Ruft beim Überschreiben in einer abgeleiteten Klasse die Tiefe des aktuellen Knotens im XML-Dokument ab.

EOF

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob sich der Reader am Ende des Streams befindet.

HasAttributes

Ruft einen Wert ab, der angibt, ob der aktuelle Knoten über Attribute verfügt.

HasValue

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Knoten einen Value aufweisen kann.

IsDefault

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Knoten ein Attribut ist, das aus dem in der DTD oder dem Schema definierten Standardwert generiert wurde.

IsEmptyElement

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Knoten ein leeres Element ist (z. B <MyElement/>. ).

Item[Int32]

Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Index ab.

Item[String, String]

Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen LocalName und NamespaceURI ab.

Item[String]

Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Name ab.

LocalName

Ruft beim Überschreiben in einer abgeleiteten Klasse den lokalen Namen des aktuellen Knotens ab.

Name

Ruft beim Überschreiben in einer abgeleiteten Klasse den qualifizierten Namen des aktuellen Knotens ab.

NamespaceURI

Ruft beim Überschreiben in einer abgeleiteten Klasse den Namespace-URI (entsprechend der Definition in der Namespacespezifikation des W3C) des Knotens ab, auf dem der Reader positioniert ist.

NameTable

Ruft beim Überschreiben in einer abgeleiteten Klasse die XmlNameTable ab, die dieser Implementierung zugeordnet ist.

NodeType

Ruft beim Überschreiben in einer abgeleiteten Klasse den Typ des aktuellen Knotens ab.

Prefix

Ruft beim Überschreiben in einer abgeleiteten Klasse das dem aktuellen Knoten zugeordnete Namespacepräfix ab.

QuoteChar

Ruft beim Überschreiben in einer abgeleiteten Klasse das Anführungszeichen ab, mit dem der Wert eines Attributknotens eingeschlossen wird.

ReadState

Ruft beim Überschreiben in einer abgeleiteten Klasse den Zustand des Readers ab.

SchemaInfo

Ruft die Schemainformationen ab, die dem aktuellen Knoten nach der Schemavalidierung zugewiesen wurden.

Settings

Ruft das zum Erstellen dieser XmlReaderSettings-Instanz verwendete XmlReader-Objekt ab.

Value

Ruft beim Überschreiben in einer abgeleiteten Klasse den Textwert des aktuellen Knotens ab.

ValueType

Ruft den CLR-Typ (Common Language Runtime) für den aktuellen Knoten ab.

XmlLang

Ruft beim Überschreiben in einer abgeleiteten Klasse den aktuellen xml:lang-Bereich ab.

XmlSpace

Ruft beim Überschreiben in einer abgeleiteten Klasse den aktuellen xml:space-Bereich ab.

Methoden

Close()

Ändert beim Überschreiben in einer abgeleiteten Klassen den ReadState in Closed.

Create(Stream)

Erstellt mit dem angegebenen Stream mit den Standardeinstellungen eine neue XmlReader-Instanz.

Create(Stream, XmlReaderSettings)

Erstellt eine neue XmlReader-Instanz mit dem angegebenen Stream und den angegebenen Einstellungen.

Create(Stream, XmlReaderSettings, String)

Erstellt mit dem angegebenen Stream, dem Basis-URI und den Einstellungen eine neue XmlReader-Instanz.

Create(Stream, XmlReaderSettings, XmlParserContext)

Erstellt mit dem angegebenen Stream, den Einstellungen und den Kontextinformationen für Analysezwecke eine neue XmlReader-Instanz.

Create(String)

Erstellt eine neue XmlReader-Instanz mit angegebenem URI.

Create(String, XmlReaderSettings)

Erstellt mit dem angegebenen URI und den angegebenen Einstellungen eine neue XmlReader-Instanz.

Create(String, XmlReaderSettings, XmlParserContext)

Erstellt mit dem angegebenen URI, den Einstellungen und den Kontextinformationen für Analysezwecke eine neue XmlReader-Instanz.

Create(TextReader)

Erstellt mit dem angegebenen Text-Reader eine neue XmlReader-Instanz.

Create(TextReader, XmlReaderSettings)

Erstellt mit dem angegebenen Text-Reader und den angegebenen Einstellungen eine neue XmlReader-Instanz.

Create(TextReader, XmlReaderSettings, String)

Erstellt mit dem angegebenen Text-Reader, den angegebenen Einstellungen und dem angegebenen Basis-URI eine neue XmlReader-Instanz.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Erstellt mit dem angegebenen Text-Reader, den Einstellungen und den Kontextinformationen für Analysezwecke eine neue XmlReader-Instanz.

Create(XmlReader, XmlReaderSettings)

Erstellt mit dem angegebenen XML-Reader und den angegebenen Einstellungen eine neue XmlReader-Instanz.

Dispose()

Gibt alle von der aktuellen Instanz der XmlReader-Klasse verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von XmlReader verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetAttribute(Int32)

Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Index ab.

GetAttribute(String)

Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Name ab.

GetAttribute(String, String)

Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen LocalName und NamespaceURI ab.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValueAsync()

Ruft den Wert des aktuellen Knotens asynchron ab.

IsName(String)

Gibt einen Wert zurück, der angibt, ob das Zeichenfolgenargument ein gültiger XML-Name ist.

IsNameToken(String)

Gibt einen Wert zurück, der angibt, ob das Zeichenfolgenargument ein gültiges XML-Namenstoken ist.

IsStartElement()

Ruft MoveToContent() auf und überprüft, ob der aktuelle Inhaltsknoten ein Starttag oder ein leeres Elementtag ist.

IsStartElement(String)

Ruft MoveToContent() auf und überprüft, ob der aktuelle Inhaltsknoten ein Starttag oder ein leeres Elementtag ist und die Name-Eigenschaft des gefundenen Elements mit dem angegebenen Argument übereinstimmt.

IsStartElement(String, String)

Ruft MoveToContent() auf und überprüft, ob der aktuelle Inhaltsknoten ein Starttag oder ein leeres Elementtag ist und ob die LocalName-Eigenschaft und die NamespaceURI-Eigenschaft des gefundenen Elements mit den angegebenen Zeichenfolgen übereinstimmen.

LookupNamespace(String)

Löst beim Überschreiben in einer abgeleiteten Klasse ein Namespacepräfix im Gültigkeitsbereich des aktuellen Elements auf.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MoveToAttribute(Int32)

Wechselt beim Überschreiben in einer abgeleiteten Klasse zum Attribut mit dem angegebenen Index.

MoveToAttribute(String)

Wechselt beim Überschreiben in einer abgeleiteten Klasse zum Attribut mit dem angegebenen Name.

MoveToAttribute(String, String)

Wechselt beim Überschreiben in einer abgeleiteten Klasse zum Attribut mit dem angegebenen LocalName und dem angegebenen NamespaceURI.

MoveToContent()

Überprüft, ob der aktuelle Knoten ein Inhaltsknoten (Textknoten ohne Leerraum, CDATA-, Element-, EndElement-, EntityReference- oder EndEntity-Knoten) ist. Wenn der Knoten kein Inhaltsknoten ist, springt der Reader zum nächsten Inhaltsknoten oder an das Ende der Datei. Knoten folgender Typen werden übersprungen: ProcessingInstruction, DocumentType, Comment, Whitespace und SignificantWhitespace.

MoveToContentAsync()

Asynchrone Überprüfungen, ob der aktuelle Knoten ein Inhaltsknoten ist. Wenn der Knoten kein Inhaltsknoten ist, springt der Reader zum nächsten Inhaltsknoten oder an das Ende der Datei.

MoveToElement()

Wechselt beim Überschreiben in einer abgeleiteten Klasse zu dem Element, das den aktuellen Attributknoten enthält.

MoveToFirstAttribute()

Wechselt beim Überschreiben in einer abgeleiteten Klasse zum ersten Attribut.

MoveToNextAttribute()

Wechselt beim Überschreiben in einer abgeleiteten Klasse zum nächsten Attribut.

Read()

Liest beim Überschreiben in einer abgeleiteten Klasse den nächsten Knoten aus dem Stream.

ReadAsync()

Liest den nächsten Knoten aus dem Stream asynchron.

ReadAttributeValue()

Löst beim Überschreiben in einer abgeleiteten Klasse den Attributwert in einen oder mehrere Knoten vom Typ Text, EntityReference oder EndEntity auf.

ReadContentAs(Type, IXmlNamespaceResolver)

Liest den Inhalt als Objekt vom angegebenen Typ.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

Liest den Inhalt asynchron als Objekt vom angegebenen Typ.

ReadContentAsBase64(Byte[], Int32, Int32)

Liest den Inhalt und gibt die Base64-decodierten binären Bytes zurück.

ReadContentAsBase64Async(Byte[], Int32, Int32)

Liest den Inhalt asynchron und gibt die Base64-decodierten binären Bytes zurück.

ReadContentAsBinHex(Byte[], Int32, Int32)

Liest den Inhalt und gibt die BinHex-decodierten binären Bytes zurück.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

Liest den Inhalt asynchron und gibt die BinHex-decodierten binären Bytes zurück.

ReadContentAsBoolean()

Liest den Textinhalt an der aktuellen Position als Boolean.

ReadContentAsDateTime()

Liest den Textinhalt an der aktuellen Position als DateTime-Objekt.

ReadContentAsDateTimeOffset()

Liest den Textinhalt an der aktuellen Position als DateTimeOffset-Objekt.

ReadContentAsDecimal()

Liest den Textinhalt an der aktuellen Position als Decimal-Objekt.

ReadContentAsDouble()

Liest den Textinhalt an der aktuellen Position als Gleitkommazahl mit doppelter Genauigkeit.

ReadContentAsFloat()

Liest den Textinhalt an der aktuellen Position als Gleitkommazahl mit einfacher Genauigkeit.

ReadContentAsInt()

Liest den Textinhalt an der aktuellen Position als 32-Bit-Ganzzahl mit Vorzeichen.

ReadContentAsLong()

Liest den Textinhalt an der aktuellen Position als 64-Bit-Ganzzahl mit Vorzeichen.

ReadContentAsObject()

Liest den Textinhalt an der aktuellen Position als Object.

ReadContentAsObjectAsync()

Liest den Textinhalt asynchron an der aktuellen Position als ein Object.

ReadContentAsString()

Liest den Textinhalt an der aktuellen Position als String-Objekt.

ReadContentAsStringAsync()

Liest den Textinhalt asynchron an der aktuellen Position als String-Objekt.

ReadElementContentAs(Type, IXmlNamespaceResolver)

Liest den Elementinhalt als angeforderten Typ.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, und liest dann den Elementinhalt als angeforderten Typ.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Liest das Elementinhalt asynchron als angeforderten Typ.

ReadElementContentAsBase64(Byte[], Int32, Int32)

Liest das Element und decodiert den Base64-Inhalt.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

Liest das Element asynchron und decodiert den Base64-Inhalt.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

Liest das Element und decodiert den BinHex-Inhalt.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Liest das Element asynchron und decodiert den BinHex-Inhalt.

ReadElementContentAsBoolean()

Liest das aktuelle Element und gibt den Inhalt als Boolean-Objekt zurück.

ReadElementContentAsBoolean(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als Boolean-Objekt zurück.

ReadElementContentAsDateTime()

Liest das aktuelle Element und gibt den Inhalt als DateTime-Objekt zurück.

ReadElementContentAsDateTime(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als DateTime-Objekt zurück.

ReadElementContentAsDecimal()

Liest das aktuelle Element und gibt den Inhalt als Decimal-Objekt zurück.

ReadElementContentAsDecimal(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als Decimal-Objekt zurück.

ReadElementContentAsDouble()

Liest das aktuelle Element und gibt den Inhalt als Gleitkommazahl mit doppelter Genauigkeit zurück.

ReadElementContentAsDouble(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als Gleitkommazahl mit doppelter Genauigkeit zurück.

ReadElementContentAsFloat()

Liest das aktuelle Element und gibt den Inhalt als Gleitkommazahl mit einfacher Genauigkeit zurück.

ReadElementContentAsFloat(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als Gleitkommazahl mit einfacher Genauigkeit zurück.

ReadElementContentAsInt()

Liest das aktuelle Element und gibt den Inhalt als 32-Bit-Ganzzahl mit Vorzeichen zurück.

ReadElementContentAsInt(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als 32-Bit-Ganzzahl mit Vorzeichen zurück.

ReadElementContentAsLong()

Liest das aktuelle Element und gibt den Inhalt als 64-Bit-Ganzzahl mit Vorzeichen zurück.

ReadElementContentAsLong(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als 64-Bit-Ganzzahl mit Vorzeichen zurück.

ReadElementContentAsObject()

Liest das aktuelle Element und gibt den Inhalt als Object zurück.

ReadElementContentAsObject(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als Object zurück.

ReadElementContentAsObjectAsync()

Liest das aktuelle Element asynchron und gibt den Inhalt als Object zurück.

ReadElementContentAsString()

Liest das aktuelle Element und gibt den Inhalt als String-Objekt zurück.

ReadElementContentAsString(String, String)

Überprüft, ob der angegebene lokale Name und der angegebene Namespace-URI mit denen des aktuellen Elements übereinstimmen, liest dann das aktuelle Element und gibt den Inhalt als String-Objekt zurück.

ReadElementContentAsStringAsync()

Liest das aktuelle Element asynchron und gibt den Inhalt als String-Objekt zurück.

ReadElementString()

Liest ein Nur-Text-Element. Sie sollten stattdessen allerdings die ReadElementContentAsString()-Methode verwenden, da sie eine einfachere Möglichkeit zum Verarbeiten dieses Vorgangs bereitstellt.

ReadElementString(String)

Überprüft vor dem Lesen eines Nur-Text-Elements, ob die Name-Eigenschaft des gefundenen Elements mit der angegebenen Zeichenfolge übereinstimmt. Sie sollten stattdessen allerdings die ReadElementContentAsString()-Methode verwenden, da sie eine einfachere Möglichkeit zum Verarbeiten dieses Vorgangs bereitstellt.

ReadElementString(String, String)

Überprüft vor dem Lesen eines Nur-Text-Elements, ob die LocalName-Eigenschaft und die NamespaceURI-Eigenschaft des gefundenen Elements mit den angegebenen Zeichenfolgen übereinstimmen. Sie sollten stattdessen allerdings die ReadElementContentAsString(String, String)-Methode verwenden, da sie eine einfachere Möglichkeit zum Verarbeiten dieses Vorgangs bereitstellt.

ReadEndElement()

Überprüft, ob der aktuelle Inhaltsknoten ein Endtag ist, und verschiebt den Reader auf den nächsten Knoten.

ReadInnerXml()

Liest beim Überschreiben in einer abgeleiteten Klasse den gesamten Inhalt, einschließlich Markup, als Zeichenfolge.

ReadInnerXmlAsync()

Liest asynchron den gesamten Inhalt, einschließlich Markup als Zeichenfolge.

ReadOuterXml()

Liest beim Überschreiben in einer abgeleiteten Klasse den Inhalt (einschließlich Markup) ab, der diesen Knoten und alle untergeordneten Elemente darstellt.

ReadOuterXmlAsync()

Liest den Inhalt, einschließlich Markup, das diesen Knoten und alle untergeordneten Elemente darstellt, asynchron.

ReadStartElement()

Überprüft, ob der aktuelle Knoten ein Element ist, und rückt den Reader zum nächsten Knoten vor.

ReadStartElement(String)

Überprüft, ob der aktuelle Inhaltsknoten ein Element mit dem angegebenen Name ist, und verschiebt den Reader auf den nächsten Knoten.

ReadStartElement(String, String)

Überprüft, ob der aktuelle Inhaltsknoten ein Element mit dem angegebenen LocalName und dem angegebenen NamespaceURI ist, und verschiebt den Reader auf den nächsten Knoten.

ReadString()

Liest beim Überschreiben in einer abgeleiteten Klasse den Inhalt eines Element- oder Textknotens als Zeichenfolge. Sie sollten stattdessen allerdings die ReadElementContentAsString-Methode verwenden, da sie eine einfachere Möglichkeit zum Verarbeiten dieses Vorgangs bereitstellt.

ReadSubtree()

Gibt eine neue XmlReader-Instanz zurück, die zum Lesen des aktuellen Knotens und aller Nachfolgerknoten verwendet werden kann.

ReadToDescendant(String)

Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen qualifizierten Namen.

ReadToDescendant(String, String)

Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI.

ReadToFollowing(String)

Liest, bis ein Element mit dem angegebenen qualifizierten Namen gefunden wird.

ReadToFollowing(String, String)

Liest, bis ein Element mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI gefunden wird.

ReadToNextSibling(String)

Verschiebt den XmlReader auf das nächste nebengeordnete Element mit dem angegebenen qualifizierten Namen.

ReadToNextSibling(String, String)

Verschiebt den XmlReader auf das nächste nebengeordnete Element mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI.

ReadValueChunk(Char[], Int32, Int32)

Liest umfangreiche Streams von Text, der in ein XML-Dokument eingebettet ist.

ReadValueChunkAsync(Char[], Int32, Int32)

Liest asynchron umfangreiche Streams von Text, der in ein XML-Dokument eingebettet ist.

ResolveEntity()

Löst beim Überschreiben in einer abgeleiteten Klasse den Entitätsverweis für EntityReference-Knoten auf.

Skip()

Überspringt die untergeordneten Elemente des aktuellen Knotens.

SkipAsync()

Überspringt die untergeordneten Elemente des aktuellen Knotens asynchron.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Eine Beschreibung dieses Elements finden Sie unter Dispose().

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Weitere Informationen