Neue Features in der XmlReader-Klasse
Aktualisiert: November 2007
Microsoft .NET Framework, Version 2.0, umfasst viele Änderungen hinsichtlich des Designs und der Funktionen der XmlReader-Klasse.
Erstellung von "XmlReader"
In dieser Version stellt die Create-Methode den bevorzugten Mechanismus zum Abrufen von XmlReader-Instanzen dar. Die Create-Methode gibt mithilfe der XmlReaderSettings-Klasse an, welche Features die XmlReader-Instanz unterstützen soll.
Weitere Informationen finden Sie unter Erstellen von XML-Readern.
Datenvalidierung
Von der Create-Methode erstellte XmlReader-Objekte können mithilfe einer DTD (Dokumenttypdefinition) oder eines XSD-Schemas (Schema Definition Language) eine Validierung erzwingen. Die XmlReaderSettings.ValidationType-Eigenschaft bestimmt, ob die XmlReader-Instanz eine Validierung erzwingt. Die XmlReaderSettings.ValidationFlags-Eigenschaft konfiguriert optionale Validierungseinstellungen. Mithilfe der XmlSchemaSet-Klasse werden XML-Schemata zwischengespeichert.
Hinweis: |
---|
Die XmlValidatingReader-Klasse und die XmlSchemaCollection-Klasse sind in .NET Framework, Version 2.0, veraltet. |
Weitere Informationen finden Sie unter Validieren von XML-Daten mit "XmlReader".
Datenkonformität
Von der Create-Methode erstellte XmlReader-Objekte weisen standardmäßig eine größere Übereinstimmung als die XmlTextReader-Implementierung auf. Von der Create-Methode erstellte XmlReader-Objekte unterstützen in der Standardeinstellung die folgenden Features:
Normalisieren von Zeilenwechselzeichen.
Erweitern von Entitäten.
Hinzufügen von Standardattributen.
Die XmlReaderSettings.CheckCharacters-Eigenschaft und die XmlReaderSettings.ConformanceLevel-Eigenschaft ermöglichen Ihnen, die Typen der Übereinstimmungsprüfungen anzugeben, die für das erstellte XmlReader-Objekt aktiviert werden sollen. Weitere Informationen finden Sie unter Überprüfen der Datenkonformität mit "XmlReader".
Typunterstützung
Stellt Unterstützung zum Abrufen von XML-Schemainformationen (Schema Definition Language) bereit und ermöglicht Aufrufern das Anfordern von Werten als einfach typisierte CLR-Werte (Common Language Runtime).
Die ReadContentAs-Methode und die ReadElementContentAs-Methode können Inhalt als Systemtypen anstatt als Zeichenfolgen lesen. Diese neuen Methoden ermöglichen Benutzern das Abrufen von Werten in der Darstellung, die für die Codierung am besten geeignet ist, ohne manuelle Konvertierungen und Analysen von Werten durchführen zu müssen.
Weitere Informationen finden Sie unter Lesen von typisierten Daten.
Neue Hilfsmethoden
Die XmlReader-Klasse umfasst neue Methoden, mit denen das Analysieren von XML-Daten vereinfacht wird:
ReadSubtree – Gibt einen neuen XmlReader zurück, der das aktuelle Element und alle diesem Element untergeordneten Elemente liest.
ReadToDescendant – Rückt den Reader zum nächsten untergeordneten Element mit dem angegebenen Namen vor.
ReadToNextSibling – Rückt den Reader zum nächsten nebengeordneten Element mit dem angegebenen Namen vor.
ReadToFollowing – Rückt den Reader zum nächsten folgenden Element mit dem angegebenen Namen vor.
ReadValueChunk – Liest große in einem XML-Dokument eingebettete Textstreams als Stream.
ReadContentAsBase64 und ReadElementContentAsBase64 – Liest große in einem XML-Dokument eingebettete Binärdatenstreams als Stream und entschlüsselt den Base64-Inhalt.
ReadContentAsBinHex und ReadElementContentAsBinHex – Liest in einem XML-Dokument eingebettete Binärdatenstreams und entschlüsselt den BinHex-Inhalt.
Sicherheitsfunktionen
Sie können ein XmlReader-Objekt erstellen, das die Verarbeitung der DTD (Dokumenttypdefinition) verhindert. Durch das Deaktivieren der DTD-Verarbeitung können bestimmte Denial-of-Service-Angriffe verhindert werden. Bei deaktivierter DTD-Verarbeitung löst das XmlReader-Objekt eine XmlException aus, wenn DTD-Inhalt gefunden wird. In der Standardeinstellung ist die DTD-Verarbeitung deaktiviert. Legen Sie zum Aktivieren der DTD-Verarbeitung die XmlReaderSettings.ProhibitDtd-Eigenschaft auf false fest, bevor Sie den XmlReader erstellen.
Hinweis: |
---|
Die ProhibitDtd-Eigenschaft ist auch für die XmlTextReader-Klasse verfügbar. |
Behandeln von Entitäten
Von der Create-Methode erstellte XmlReader-Objekte erweitern alle Entitäten automatisch. Wenn Entitäten gefunden werden, die nicht aufgelöst werden können, wird eine Ausnahme ausgelöst.