Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

XmlReader-Klasse

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

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public abstract class XmlReader : IDisposable

Der XmlReader-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsXmlReaderInitialisiert eine neue Instanz der XmlReader-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAttributeCountRuft beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Attribute für den aktuellen Knoten ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBaseURIRuft beim Überschreiben in einer abgeleiteten Klasse den Basis-URI des aktuellen Knotens ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCanReadBinaryContentRuft einen Wert ab, der angibt, ob der XmlReader die Methoden für das Lesen von Inhalt im Binärformat implementiert.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCanReadValueChunkRuft einen Wert ab, der angibt, ob der XmlReader die angegebene ReadValueChunk-Methode implementiert.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCanResolveEntityRuft einen Wert ab, der angibt, ob dieser Reader Entitäten analysieren und auflösen kann.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDepthRuft beim Überschreiben in einer abgeleiteten Klasse die Tiefe des aktuellen Knotens im XML-Dokument ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEOFRuft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob sich der Reader am Ende des Streams befindet.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsHasAttributesRuft einen Wert ab, der angibt, ob der aktuelle Knoten über Attribute verfügt.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsHasValueRuft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Knoten einen Value aufweisen kann.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsDefaultRuft 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.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsEmptyElementRuft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Knoten ein leeres Element ist (z. B. <MyElement/>).
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem[Int32]Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Index ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem[String]Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Name ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsItem[String, String]Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen LocalName und NamespaceURI ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLocalNameRuft beim Überschreiben in einer abgeleiteten Klasse den lokalen Namen des aktuellen Knotens ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNameRuft beim Überschreiben in einer abgeleiteten Klasse den gekennzeichneten Namen des aktuellen Knotens ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNamespaceURIRuft 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.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNameTableRuft beim Überschreiben in einer abgeleiteten Klasse die XmlNameTable ab, die dieser Implementierung zugeordnet ist.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNodeTypeRuft beim Überschreiben in einer abgeleiteten Klasse den Typ des aktuellen Knotens ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsPrefixRuft beim Überschreiben in einer abgeleiteten Klasse das dem aktuellen Knoten zugeordnete Namespacepräfix ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkQuoteCharRuft beim Überschreiben in einer abgeleiteten Klasse das Anführungszeichen ab, mit dem der Wert eines Attributknotens eingeschlossen wird.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadStateRuft beim Überschreiben in einer abgeleiteten Klasse den Zustand des Readers ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkSchemaInfoRuft die Schemainformationen ab, die dem aktuellen Knoten nach der Schemavalidierung zugewiesen wurden.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSettingsRuft das zum Erstellen dieser XmlReader-Instanz verwendete XmlReaderSettings-Objekt ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsValueRuft beim Überschreiben in einer abgeleiteten Klasse den Textwert des aktuellen Knotens ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsValueTypeRuft den CLR-Typ (Common Language Runtime) für den aktuellen Knoten ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsXmlLangRuft beim Überschreiben in einer abgeleiteten Klasse den aktuellen xml:lang-Bereich ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsXmlSpaceRuft beim Überschreiben in einer abgeleiteten Klasse den aktuellen xml:space-Bereich ab.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkCloseÄndert beim Überschreiben in einer abgeleiteten Klassen den ReadState in Closed.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreate(Stream)Erstellt mit dem angegebenen Stream eine neue XmlReader-Instanz.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt in .NET für Windows Store-AppsCreate(String)Erstellt eine neue XmlReader-Instanz mit angegebenem URI.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreate(TextReader)Erstellt einen neuen XmlReader mit dem angegebenen TextReader.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreate(Stream, XmlReaderSettings)Erstellt eine neue XmlReader-Instanz mit dem angegebenen Stream und dem angegebenen XmlReaderSettings-Objekt.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt in .NET für Windows Store-AppsCreate(String, XmlReaderSettings)Erstellt eine neue Instanz mit dem angegebenen URI und den angegebenen XmlReaderSettings.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreate(TextReader, XmlReaderSettings)Erstellt mit dem angegebenen XmlReader-Objekt und dem angegebenen TextReader-Objekt eine neue XmlReaderSettings-Instanz.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreate(XmlReader, XmlReaderSettings)Erstellt eine neue XmlReader-Instanz mit dem angegebenen XmlReader-Objekt und dem angegebenen XmlReaderSettings-Objekt.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkCreate(Stream, XmlReaderSettings, String)Erstellt mit dem angegebenen Stream, dem Basis-URI und dem XmlReaderSettings-Objekt eine neue XmlReader-Instanz.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreate(Stream, XmlReaderSettings, XmlParserContext)Erstellt mit dem angegebenen Stream, dem angegebenen XmlReaderSettings-Objekt und dem angegebenen XmlParserContext-Objekt eine neue XmlReader-Instanz.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkCreate(String, XmlReaderSettings, XmlParserContext)Erstellt mit dem angegebenen URI, dem angegebenen XmlReaderSettings-Objekt und dem angegebenen XmlParserContext-Objekt eine neue XmlReader-Instanz.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkCreate(TextReader, XmlReaderSettings, String)Erstellt mit dem angegebenen TextReader-Objekt, dem angegebenen XmlReaderSettings-Objekt und dem Basis-URI eine neue XmlReader-Instanz.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreate(TextReader, XmlReaderSettings, XmlParserContext)Erstellt mit dem angegebenen Objekten TextReader, XmlReaderSettings und XmlParserContext eine neue XmlReader-Instanz.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDispose()Gibt alle von der aktuellen Instanz der XmlReader-Klasse verwendeten Ressourcen frei.
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDispose(Boolean)Gibt die vom XmlReader verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetAttribute(Int32)Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Index ab.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetAttribute(String)Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen Name ab.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetAttribute(String, String)Ruft beim Überschreiben in einer abgeleiteten Klasse den Wert des Attributs mit dem angegebenen LocalName und NamespaceURI ab.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsGetValueAsyncRuft den Wert des aktuellen Knotens asynchron ab.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsNameGibt einen Wert zurück, der angibt, ob das Zeichenfolgenargument ein gültiger XML-Name ist.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsNameTokenGibt einen Wert zurück, der angibt, ob das Zeichenfolgenargument ein gültiges XML-Namenstoken ist.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsStartElement()Ruft MoveToContent auf und überprüft, ob der aktuelle Inhaltsknoten ein Starttag oder ein leeres Elementtag ist.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsStartElement(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsStartElement(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLookupNamespaceLöst beim Überschreiben in einer abgeleiteten Klasse ein Namespacepräfix im Gültigkeitsbereich des aktuellen Elements auf.
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMoveToAttribute(Int32)Wechselt beim Überschreiben in einer abgeleiteten Klasse zum Attribut mit dem angegebenen Index.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMoveToAttribute(String)Wechselt beim Überschreiben in einer abgeleiteten Klasse zum Attribut mit dem angegebenen Name.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMoveToAttribute(String, String)Wechselt beim Überschreiben in einer abgeleiteten Klasse zum Attribut mit dem angegebenen LocalName und NamespaceURI.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMoveToContentÜ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.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsMoveToContentAsyncAsynchrone Ü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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMoveToElementWechselt beim Überschreiben in einer abgeleiteten Klasse zu dem Element, das den aktuellen Attributknoten enthält.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMoveToFirstAttributeWechselt beim Überschreiben in einer abgeleiteten Klasse zum ersten Attribut.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMoveToNextAttributeWechselt beim Überschreiben in einer abgeleiteten Klasse zum nächsten Attribut.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadLiest beim Überschreiben in einer abgeleiteten Klasse den nächsten Knoten aus dem Stream.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadAsyncLiest den nächsten Knoten aus dem Stream asynchron.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadAttributeValueLöst beim Überschreiben in einer abgeleiteten Klasse den Attributwert in einen oder mehrere Knoten vom Typ Text, EntityReference oder EndEntity auf.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsLiest den Inhalt als Objekt vom angegebenen Typ.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadContentAsAsyncLiest den Inhalt asynchron als Objekt vom angegebenen Typ.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsBase64Liest den Inhalt und gibt die Base64-decodierten binären Bytes zurück.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadContentAsBase64AsyncLiest den Inhalt asynchron und gibt die Base64-decodierten binären Bytes zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsBinHexLiest den Inhalt und gibt die BinHex-decodierten binären Bytes zurück.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadContentAsBinHexAsyncLiest den Inhalt asynchron und gibt die BinHex-decodierten binären Bytes zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsBooleanLiest den Textinhalt an der aktuellen Position als Boolean.
Öffentliche MethodeUnterstützt von XNA FrameworkReadContentAsDateTimeLiest den Textinhalt an der aktuellen Position als DateTime-Objekt.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadContentAsDateTimeOffsetLiest den Textinhalt an der aktuellen Position als DateTimeOffset-Objekt.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsDecimalLiest den Textinhalt an der aktuellen Position als Decimal-Objekt.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsDoubleLiest den Textinhalt an der aktuellen Position als Gleitkommazahl mit doppelter Genauigkeit.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsFloatLiest den Textinhalt an der aktuellen Position als Gleitkommazahl mit einfacher Genauigkeit.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsIntLiest den Textinhalt an der aktuellen Position als 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsLongLiest den Textinhalt an der aktuellen Position als 64-Bit-Ganzzahl mit Vorzeichen.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsObjectLiest den Textinhalt an der aktuellen Position als Object.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadContentAsObjectAsyncLiest den Textinhalt asynchron an der aktuellen Position als ein Object.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadContentAsStringLiest den Textinhalt an der aktuellen Position als String-Objekt.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadContentAsStringAsyncLiest den Textinhalt asynchron an der aktuellen Position als String-Objekt.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAs(Type, IXmlNamespaceResolver)Liest den Elementinhalt als angeforderten Typ.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAs(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.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadElementContentAsAsyncLiest das Elementinhalt asynchron als angeforderten Typ.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsBase64Liest das Element und decodiert den Base64-Inhalt.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadElementContentAsBase64AsyncLiest das Element asynchron und decodiert den Base64-Inhalt.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsBinHexLiest das Element und decodiert den BinHex-Inhalt.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadElementContentAsBinHexAsyncLiest das Element asynchron und decodiert den BinHex-Inhalt.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsBoolean()Liest das aktuelle Element und gibt den Inhalt als Boolean-Objekt zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsBoolean(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.
Öffentliche MethodeUnterstützt von XNA FrameworkReadElementContentAsDateTime()Liest das aktuelle Element und gibt den Inhalt als DateTime-Objekt zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkReadElementContentAsDateTime(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsDecimal()Liest das aktuelle Element und gibt den Inhalt als Decimal-Objekt zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsDecimal(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsDouble()Liest das aktuelle Element und gibt den Inhalt als Gleitkommazahl mit doppelter Genauigkeit zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsDouble(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsFloat()Liest das aktuelle Element und gibt den Inhalt als Gleitkommazahl mit einfacher Genauigkeit zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsFloat(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsInt()Liest das aktuelle Element und gibt den Inhalt als 32-Bit-Ganzzahl mit Vorzeichen zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsInt(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsLong()Liest das aktuelle Element und gibt den Inhalt als 64-Bit-Ganzzahl mit Vorzeichen zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsLong(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsObject()Liest das aktuelle Element und gibt den Inhalt als Object zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsObject(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.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadElementContentAsObjectAsyncLiest das aktuelle Element asynchron und gibt den Inhalt als Object zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsString()Liest das aktuelle Element und gibt den Inhalt als String-Objekt zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadElementContentAsString(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.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadElementContentAsStringAsyncLiest das aktuelle Element asynchron und gibt den Inhalt als String-Objekt zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkReadElementString()Liest ein Nur-Text-Element.
Öffentliche MethodeUnterstützt von XNA FrameworkReadElementString(String)Überprüft vor dem Lesen eines Nur-Text-Elements, ob die Name-Eigenschaft des gefundenen Elements mit der angegebenen Zeichenfolge übereinstimmt.
Öffentliche MethodeUnterstützt von XNA FrameworkReadElementString(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.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadEndElementÜberprüft, ob der aktuelle Inhaltsknoten ein Endtag ist, und verschiebt den Reader auf den nächsten Knoten.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadInnerXmlLiest beim Überschreiben in einer abgeleiteten Klasse den gesamten Inhalt, einschließlich Markup, als Zeichenfolge.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadInnerXmlAsyncLiest asynchron den gesamten Inhalt, einschließlich Markup als Zeichenfolge.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadOuterXmlRuft beim Überschreiben in einer abgeleiteten Klasse den Inhalt (einschließlich Markup) ab, der diesen Knoten und alle untergeordneten Elemente darstellt.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadOuterXmlAsyncLiest den Inhalt, einschließlich Markup, das diesen Knoten und alle untergeordneten Elemente darstellt, asynchron.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadStartElement()Überprüft, ob der aktuelle Knoten ein Element ist, und verschiebt den Reader auf den nächsten Knoten.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadStartElement(String)Überprüft, ob der aktuelle Inhaltsknoten ein Element mit dem angegebenen Name ist, und verschiebt den Reader auf den nächsten Knoten.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadStartElement(String, String)Überprüft, ob der aktuelle Inhaltsknoten ein Element mit dem angegebenen LocalName und NamespaceURI ist, und verschiebt den Reader auf den nächsten Knoten.
Öffentliche MethodeUnterstützt von XNA FrameworkReadStringLiest beim Überschreiben in einer abgeleiteten Klasse den Inhalt eines Element- oder Textknotens als Zeichenfolge.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadSubtreeGibt eine neue XmlReader-Instanz zurück, die zum Lesen des aktuellen Knotens und aller Nachfolgerknoten verwendet werden kann.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadToDescendant(String)Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen qualifizierten Namen.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadToDescendant(String, String)Verschiebt den XmlReader auf das nächste Nachfolgerelement mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadToFollowing(String)Liest, bis ein Element mit dem angegebenen qualifizierten Namen gefunden wird.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadToFollowing(String, String)Liest, bis ein Element mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI gefunden wird.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadToNextSibling(String)Verschiebt den XmlReader auf das nächste nebengeordnete Element mit dem angegebenen qualifizierten Namen.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadToNextSibling(String, String)Verschiebt den XmlReader auf das nächste nebengeordnete Element mit dem angegebenen lokalen Namen und dem angegebenen Namespace-URI.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadValueChunkLiest umfangreiche Streams von Text, der in ein XML-Dokument eingebettet ist.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsReadValueChunkAsyncLiest asynchron umfangreiche Streams von Text, der in ein XML-Dokument eingebettet ist.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsResolveEntityLöst beim Überschreiben in einer abgeleiteten Klasse den Entitätsverweis für EntityReference-Knoten auf.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSkipÜberspringt die untergeordneten Elemente des aktuellen Knotens.
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsSkipAsyncÜberspringt die untergeordneten Elemente des aktuellen Knotens asynchron.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIDisposable.DisposeEine Beschreibung dieses Members finden Sie unter IDisposable.Dispose.
Zum Seitenanfang

XmlReader stellt schreibgeschützten Vorwärtszugriff auf einen Stream von XML-Daten bereit. Die XmlReader-Klasse entspricht den W3C-Empfehlungen für XML 1.0 (Extensible Markup Language) und die Namespaces in XML.

Der aktuelle Knoten verweist auf den Knoten, auf dem der Reader positioniert ist. Der Reader wird mithilfe aller der Lesemethoden gewechselt, und Eigenschaften entsprechen den Wert des aktuellen Knotens.

Wichtiger HinweisWichtig

Obwohl .NET Framework einschließt, Klassen- konkrete Implementierungen XmlReader, wie XmlTextReader, XmlNodeReader, und die Klassen XmlValidatingReader, in der Version 2.0 die empfohlene Vorgehensweise ist, Instanzen XmlReader mit der Create-Methode. Weitere Informationen finden Sie unter Erstellen von XML-Readern.

XmlReader löst bei XML-Analysefehlern eine XmlException aus. Nachdem eine Ausnahme ausgelöst wird, wird der Zustand des Readers nicht vorhersagen. Zum Beispiel kann der gemeldete Knotentyp zu den tatsächlichen Knotentyp des aktuellen Knotens unterschiedlich. Überprüfen Sie mit der ReadState-Eigenschaft, ob sich der Reader im Fehlerzustand befindet.

Nähere Erläuterungen zur XmlReader-Klasse finden Sie unter Lesen von XML mit dem "XmlReader".

Die folgenden Methoden können mit asynchronen Methodenaufrufen verwendet werden:

Einige synchrone Methoden verfügen asynchrone Äquivalente, die "asynchrones" am Ende des Methodennamens enthalten. Beispielsweise sind die asynchronen Entsprechungen für ReadContentAsXxx und ReadElementContentAsXxx-Methoden:

In den folgenden Abschnitten werden asynchrone Verwendung für Methoden, die keine asynchrone Entsprechungen verfügen.

ReadStartElement-Methode

public static async Task ReadStartElementAsync(this XmlReader reader, string localname, string ns) {
 if (await 
   reader.MoveToContentAsync() != 
   XmlNodeType.Element) {
 throw new 
InvalidOperationException(
reader.NodeType.ToString() + " is an invalid XmlNodeType");
   }
 if (reader.LocalName == 
     localname && 
     reader.NamespaceURI == ns) {
 await reader.ReadAsync();
   }
 else {
 throw new InvalidOperationException("localName or namespace doesn’t match");
    }
}

ReadEndElement-Methode

Erweiterungsfunktion:

public static async Task ReadEndElementAsync(this XmlReader reader) {
if (await reader.MoveToContentAsync() != XmlNodeType.EndElement) {
    throw new InvalidOperationException();
   }
 await reader.ReadAsync();
}

ReadToNextSiblings-Methode

public static async Task<bool> ReadToNextSiblingAsync(this XmlReader reader, string localName, string namespaceURI) {
 if (localName == null || 
    localName.Length == 0) {
 throw new ArgumentException ("localName is empty or null");
   }
 if (namespaceURI == null) {
 throw new ArgumentNullException("namespaceURI");
   }

// atomize local name and namespace
   localName = 
    reader.NameTable.Add(localName);
   namespaceURI = 
   reader.NameTable.Add(namespaceURI);

// find the next sibling
 XmlNodeType nt;
 do {
 await reader.SkipAsync();
 if (reader.ReadState !=
 ReadState.Interactive)
 break;
      nt = reader.NodeType;
 if (nt == XmlNodeType.Element &&
      ((object)localName == 
      (object)reader.LocalName) && 
      ((object)namespaceURI == 
      (object)reader.NamespaceURI)) {
 return true;
       }
   }while(nt != XmlNodeType.EndElement 

   && !reader.EOF);
 return false;
}

ReadToFollowing-Methode

public static async Task<bool> ReadToFollowingAsync(this XmlReader reader, string localName, string namespaceURI) 
{
 if (localName == null || 
     localName.Length == 0) {
 throw new 
     ArgumentException(
     "localName is empty or null");
   }
 if (namespaceURI == null) {
 throw new 
      ArgumentNullException(
     "namespaceURI");
}

// atomize local name and namespace
   localName = 
    reader.NameTable.Add(localName);
   namespaceURI = 
   reader.NameTable.Add(namespaceURI);

// find element with that name
 while (await reader.ReadAsync()) {
 if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI)) {
 return true;
      }
   }
 return false;
}

ReadToDescendant-Methode

public static async Task<bool> ReadToDescendantAsync(this XmlReader reader, string localName, string namespaceURI) {
 if (localName == null || localName.Length == 0) {
 throw new ArgumentException("localName is empty or null");
   }
 if (namespaceURI == null) {
 throw new ArgumentNullException("namespaceURI");
   }
 // save the element or root depth
 int parentDepth = reader.Depth;
 if (reader.NodeType != XmlNodeType.Element) {
 // adjust the depth if we are on root node
if (reader.ReadState == ReadState.Initial) {
    parentDepth--;
   }
else {
     return false;
       }
   }
else if (reader.IsEmptyElement) {
   return false;
}

// atomize local name and namespace
localName = reader.NameTable.Add(localName);
namespaceURI = reader.NameTable.Add(namespaceURI);

// find the descendant
while (await reader.ReadAsync() && reader.Depth > parentDepth) {
if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI)) {
 return true;
}
}
return false;
}

Sicherheitsüberlegungen

Beachten Sie beim Arbeiten mit der XmlReader-Klasse folgende Punkte:

  • Ausnahmen, die von XmlReader ausgelöst werden, können Pfadinformationen offen gelegt werden, die Sie nicht gesprudelt bis zur Anwendung wünschen. Die Anwendungen müssen Ausnahmen abfangen und entsprechend verarbeiten.

  • Aktivieren Sie die DTD-Verarbeitung nur, wenn Sie keine Bedenken hinsichtlich der Gefahr von Denial-of-Service-Angriffen haben oder vertrauenswürdige Quellen verwenden. Die DTD-Verarbeitung ist standardmäßig für von der Create-Methode erstellte XmlReader-Objekte deaktiviert.

    Bei aktivierter DTD-Verarbeitung können Sie mithilfe des XmlSecureResolver die Ressourcen beschränken, auf die der XmlReader zugreifen kann. Sie können die Anwendung auch so entwerfen, dass die XML-Verarbeitung bezüglich Arbeitsspeicher und Zeit eingeschränkt wird. Konfigurieren Sie z. B. Timeoutbeschränkungen in der ASP.NET-Anwendung.

  • XML-Daten können Verweise auf externe Ressourcen, z. B. eine Schemadatei, einschließen. Externe Ressourcen werden standardmäßig mit einem XmlUrlResolver-Objekt ohne Benutzeranmeldeinformationen aufgelöst. Durch die folgenden Aktionen können Sie die Sicherheit weiter erhöhen:

  • Das ProcessInlineSchema-Validierungsflag und das ProcessSchemaLocation-Validierungsflag eines XmlReaderSettings-Objekts sind in der Standardeinstellung nicht festgelegt. Dadurch wird der XmlReader bei der Verbarbeitung von XML-Daten aus einer nicht vertrauenswürdigen Quelle vor schemabasierten Angriffen geschützt. Wenn diese Flags festgelegt werden, wird der XmlResolver des XmlReaderSettings-Objekts zum Auflösen von im Instanzendokument angegebenen Schemaspeicherorten im XmlReader verwendet. Wenn die XmlResolver-Eigenschaft auf null festgelegt wird, werden die Schemaspeicherorte nicht aufgelöst, auch wenn das ProcessInlineSchema-Validierungsflag und das ProcessSchemaLocation-Validierungsflag festgelegt sind.

    Durch während der Validierung hinzugefügte Schemas werden neue Typen hinzugefügt, sodass das Validierungsergebnis des überprüften Dokuments möglicherweise geändert wird. Deshalb sollten externe Schemas nur von vertrauenswürdigen Quellen aufgelöst werden.

    Es wird empfohlen, das ProcessIdentityConstraints-Flag zu deaktivieren (in der Standardeinstellung aktiviert), wenn Sie nicht vertrauenswürdige, große XML-Dokumente in Szenarios mit hoher Verfügbarkeit anhand eines Schemas validieren, das innerhalb des Dokuments einen großen Teil von Identitätseinschränkungen aufweist.

  • XML-Daten können eine große Anzahl von Attributen, Namespacedeklarationen, geschachtelten Elementen usw. enthalten, deren Verarbeitung eine gewisse Zeit in Anspruch nehmen kann. Um die Größe der Eingabe einschränken, die an XmlReader gesendet wird, können Sie:

    • Begrenzen der Größe des Dokuments ein, indem Sie die MaxCharactersInDocument-Eigenschaft festlegen.

    • Beschränken Sie die Anzahl der Zeichen ein, die vom Erweitern von Entitäten entstehen, mithilfe der MaxCharactersFromEntities-Eigenschaft festlegen.

    • Erstellen Sie eine benutzerdefinierte IStream-Implementierung und stellen Sie sie XmlReader.

  • Die ReadValueChunk-Methode kann verwendet werden, um große Datenstreams zu behandeln. Mit dieser Methode wird immer nur eine geringe Anzahl von Zeichen gelesen, statt eine einzige Zeichenfolge für den gesamten Wert zu reservieren.

  • Beim Lesen eines XML-Dokuments mit einer großen Anzahl von eindeutigen lokalen Namen, Namespaces oder Präfixen kann ein Problem auftreten. Wenn Sie eine von XmlReader abgeleitete Klasse verwenden und für jedes Element die Eigenschaft LocalName, Prefix oder NamespaceURI aufrufen, wird die zurückgegebene Zeichenfolge einer NameTable hinzugefügt. Die Größe der in der NameTable gespeicherten Auflistung nimmt nie ab, sodass ein virtueller Speicherverlust an Zeichenfolgenhandles eintritt. Eine mögliche Gegenmaßnahme ist, von der NameTable-Klasse abzuleiten und ein Höchstgrößenkontingent zu erzwingen. (Die Verwendung einer NameTable lässt sich nicht umgehen, und der Austausch einer vollen NameTable ist nicht möglich.) Eine weitere Gegenmaßnahme besteht darin, nach Möglichkeit anstelle der genannten Eigenschaften die MoveToAttribute-Methode mit der IsStartElement-Methode zu verwenden. Diese Methoden geben keine Zeichenfolgen zurück und umgehen somit das Problem eines Überlaufs der NameTable-Auflistung.

  • XmlReaderSettings -Objekte können vertrauliche Informationen enthalten, z. B. Benutzeranmeldeinformationen. Eine nicht vertrauenswürdige Komponente könnte mithilfe des XmlReaderSettings-Objekts und den Anmeldeinformationen des Benutzers XmlReader-Objekte erstellen, mit denen Daten gelesen werden können. Gehen Sie beim Zwischenspeichern von XmlReaderSettings-Objekten oder beim Übergeben des XmlReaderSettings-Objekts von einer Komponente an eine andere vorsichtig vor.

  • Akzeptieren Sie von einer nicht vertrauenswürdigen Quelle keine Hilfskomponenten, z. B. die Objekte NameTable, XmlNamespaceManager und XmlResolver.

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

async Task TestReader(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;
         }
      }
   }
}

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft