XmlReaderSettings Klasse

Definition

Gibt eine Gruppe von Funktionen an, die für das XmlReader-Objekt unterstützt werden sollen, das von der Create-Methode erstellt wurde.

public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
Vererbung
XmlReaderSettings

Beispiele

Im folgenden Beispiel wird ein Objekt erstellt, das eine XmlReader XmlUrlResolver mit den erforderlichen Anmeldeinformationen verwendet.

// Create an XmlUrlResolver with the credentials necessary to access the Web server.
var resolver = new XmlUrlResolver();
var myCred = new NetworkCredential(UserName, SecurelyStoredPassword, Domain);
resolver.Credentials = myCred;

var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlUrlResolver with the credentials necessary to access the Web server.
Dim resolver As New XmlUrlResolver()
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred

Dim settings As New XmlReaderSettings()
settings.XmlResolver = resolver

' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)

Hinweise

Sie verwenden die Create Methode zum Abrufen XmlReader von Instanzen. Diese Methode verwendet die XmlReaderSettings Klasse, um anzugeben, welche Features im XmlReader von ihr erstellten Objekt implementiert werden sollen.

In den Abschnitten "Hinweise" und XmlReader Create "Referenzseiten" finden Sie Informationen dazu, welche Einstellungen für Konformitätsprüfungen, Überprüfungen und andere gängige Szenarien verwendet werden sollen. Eine Liste der Standardeinstellungen finden Sie im XmlReaderSettings() Konstruktor.

Sicherheitshinweise

Berücksichtigen Sie folgendes, wenn Sie die XmlReaderSettings Klasse verwenden.

  • Das ProcessInlineSchema-Validierungsflag und das ProcessSchemaLocation-Validierungsflag eines XmlReaderSettings-Objekts werden nicht standardmäßig festgelegt. Wenn diese Flags festgelegt sind, wird der XmlResolver des XmlReaderSettings-Objekts verwendet, um die im Instanzdokument des XmlReader erkannten Schemaspeicherorte aufzulösen. Wenn das XmlResolver Objekt lautet null, werden Schemaspeicherorte nicht aufgelöst, auch wenn die ProcessInlineSchema und ProcessSchemaLocation die Überprüfungskennzeichnungen 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. Daher sollten externe Schemata nur von vertrauenswürdigen Quellen aufgelöst werden.

  • Überprüfungsfehlermeldungen können vertrauliche Inhaltsmodellinformationen verfügbar machen. Überprüfungsfehler und Warnmeldungen werden mithilfe der ValidationEventHandler Stellvertretung behandelt oder werden als wenn XmlSchemaValidationException kein Ereignishandler für das XmlReaderSettings Objekt bereitgestellt wird (Validierungswarnungen verursachen XmlSchemaValidationException keinen Auslösen). Diese Inhaltsmodellinformationen sollten in nicht vertrauenswürdigen Szenarien nicht verfügbar gemacht werden. Überprüfungswarnungen werden standardmäßig unterdrückt und können durch Festlegen des ReportValidationWarnings Kennzeichens gemeldet werden.

  • Die SourceUri Eigenschaft eines XmlSchemaValidationException Objekts gibt den URI-Pfad zur Schemadatei zurück, die die Ausnahme verursacht hat. Die SourceUri Eigenschaft sollte in nicht vertrauenswürdigen Szenarien nicht verfügbar gemacht werden.

  • Das Deaktivieren des ProcessIdentityConstraints Flags (standardmäßig aktiviert) wird empfohlen, wenn große XML-Dokumente in Hochverfügbarkeitsszenarien mit Identitätseinschränkungen über einen großen Teil des Dokuments überprüft, nicht vertrauenswürdig sind.

  • XmlReaderSettings-Objekte können vertrauliche Informationen (z. B. Anmeldeinformationen des Benutzers) enthalten. Sie sollten daher beim Zwischenspeichern von XmlReaderSettings-Objekten oder bei der Übergabe eines XmlReaderSettings-Objekts von einer Komponente an eine andere sorgfältig vorgehen.

  • Die DTD-Verarbeitung ist in der Standardeinstellung deaktiviert. Wenn Sie die DTD-Verarbeitung aktivieren, müssen Sie wissen, dass DTDs aus nicht vertrauenswürdigen Quellen und möglichen Denial of Service-Angriffen eingeschlossen werden. Verwenden Sie die XmlSecureResolver Ressourcen, auf die sie XmlReader zugreifen können.

  • Achten Sie darauf, keine Unterstützung für Komponenten aus einer nicht vertrauenswürdigen Quelle zu gewähren (z. B. den Objekten NameTable, XmlNamespaceManager und XmlResolver).

  • Zwischen der Speichernutzung einer Anwendung, die XmlReader verwendet, und der Größe des analysierten XML-Dokuments kann eine enge Beziehung bestehen. Im Rahmen von Denial-of-Service-Angriffen können auch übermäßig große XML-Dokumente zum Analysieren gesendet werden. Sie können die Größe des Dokuments einschränken, das analysiert werden kann, indem Sie die MaxCharactersInDocument Eigenschaft festlegen und dann die Anzahl der Zeichen einschränken, die aus der Erweiterung von Entitäten resultieren, indem Sie die MaxCharactersFromEntities Eigenschaft festlegen.

Konstruktoren

XmlReaderSettings()

Initialisiert eine neue Instanz der XmlReaderSettings-Klasse.

XmlReaderSettings(XmlResolver)
Veraltet.

Initialisiert eine neue Instanz der XmlReaderSettings-Klasse.

Eigenschaften

Async

Ruft ab oder legt fest, ob asynchrone XmlReader-Methoden für eine bestimmte XmlReader-Instanz verwendet werden können.

CheckCharacters

Ruft einen Wert ab, der angibt, ob Zeichen überprüft werden sollen, oder legt diesen fest.

CloseInput

Ruft einen Wert ab, der angibt, ob der zugrunde liegende Stream oder TextReader geschlossen werden soll, nachdem der Reader geschlossen wurde, oder legt diesen Wert fest.

ConformanceLevel

Ruft den Konformitätsgrad ab, dem der XmlReader entspricht, oder legt diesen fest.

DtdProcessing

Ruft einen Wert ab oder legt einen Wert fest, der die Verarbeitung von DTDs bestimmt.

IgnoreComments

Ruft einen Wert ab, der angibt, ob Kommentare ignoriert werden sollen, oder legt diesen fest.

IgnoreProcessingInstructions

Ruft einen Wert ab, der angibt, ob Verarbeitungsanweisungen ignoriert werden sollen, oder legt diesen fest.

IgnoreWhitespace

Ruft einen Wert ab, der angibt, ob signifikanter Leerraum ignoriert werden soll, oder legt diesen Wert fest.

LineNumberOffset

Ruft das Zeilennummernoffset des XmlReader-Objekts ab oder legt dieses fest.

LinePositionOffset

Ruft das Zeilenpositionsoffset des XmlReader-Objekts ab oder legt dieses fest.

MaxCharactersFromEntities

Ruft einen Wert ab, der die maximal zulässige Anzahl von Zeichen in einem Dokument angibt, die aus dem Erweitern von Entitäten resultieren, oder legt diesen fest.

MaxCharactersInDocument

Ruft einen Wert ab, der die maximale zulässige Anzahl von Zeichen in einem XML-Dokument angibt, oder legt diesen fest. Der Wert 0 (null) gibt an, dass die Größe des XML-Dokuments nicht beschränkt ist. Ein Wert ungleich 0 (null) gibt die maximale Größe in Zeichen an.

NameTable

Ruft die für Vergleiche von atomisierten Zeichenfolgen verwendeteXmlNameTable ab oder legt diese fest.

ProhibitDtd
Veraltet.
Veraltet.

Ruft einen Wert ab, der angibt, ob eine DTD-Verarbeitung (Document Type Definition, Dokumenttypdefinition) verhindert werden soll, oder legt diesen fest. Diese Eigenschaft ist veraltet. Verwenden Sie stattdessen DtdProcessing.

Schemas

Ruft das XmlSchemaSet ab, das beim Ausführen einer Schemavalidierung verwendet werden soll, oder legt dieses fest.

ValidationFlags

Ruft einen Wert ab, der die Schemavalidierungseinstellungen angibt, oder legt diesen fest. Diese Einstellung gilt für XmlReader-Objekte, die Schemata validieren (ValidationType Eigenschaft auf ValidationType.Schema festgelegt).

ValidationType

Ruft einen Wert fest, der angibt, ob der XmlReader beim Lesen eine Validierung oder Typzuweisung ausführt, oder legt diesen Wert fest.

XmlResolver

Legt den XmlResolver fest, der für den Zugriff auf externe Dokumente verwendet wird.

Methoden

Clone()

Erstellt eine Kopie der XmlReaderSettings-Instanz.

Equals(Object)

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

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Reset()

Setzt die Member der settings-Klasse auf ihre Standardwerte zurück.

ToString()

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

(Geerbt von Object)

Ereignisse

ValidationEventHandler

Tritt ein, wenn der Reader Validierungsfehler feststellt.

Gilt für:

Siehe auch