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.Specifies a set of features to support on the XmlReader object created by the Create method.

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

Beispiele

Im folgenden Beispiel wird eine XmlReader erstellt, die eine XmlUrlResolver mit den erforderlichen Anmelde Informationen verwendet.The following example creates an XmlReader that uses an XmlUrlResolver with the necessary credentials.

// 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

Zum Abrufen von XmlReader Instanzen verwenden Sie die Create-Methode.You use the Create method to obtain XmlReader instances. Diese Methode verwendet die XmlReaderSettings-Klasse, um anzugeben, welche Funktionen in dem XmlReader Objekt implementiert werden sollen, das Sie erstellt.This method uses the XmlReaderSettings class to specify which features to implement in the XmlReader object it creates.

Informationen zu den Einstellungen, die für Übereinstimmungs Überprüfungen, Validierung und andere gängige Szenarien verwendet werden, finden Sie in den Hinweisen in den Abschnitten XmlReader und Create Referenzseiten.See the Remarks sections of the XmlReader and Create reference pages for information about which settings to use for conformance checks, validation, and other common scenarios. Eine Liste der Standardeinstellungen finden Sie im XmlReaderSettings()-Konstruktor.See the XmlReaderSettings() constructor for a list of default settings.

SicherheitsüberlegungenSecurity considerations

Beachten Sie Folgendes, wenn Sie die XmlReaderSettings-Klasse verwenden.Consider the following when using the XmlReaderSettings class.

  • Das ProcessInlineSchema-Validierungsflag und das ProcessSchemaLocation-Validierungsflag eines XmlReaderSettings-Objekts werden nicht standardmäßig festgelegt.The ProcessInlineSchema and ProcessSchemaLocation validation flags of an XmlReaderSettings object are not set by default. Wenn diese Flags festgelegt sind, wird der XmlResolver des XmlReaderSettings-Objekts verwendet, um die im Instanzdokument des XmlReader erkannten Schemaspeicherorte aufzulösen.When these flags are set, the XmlResolver of the XmlReaderSettings object is used to resolve schema locations encountered in the instance document in the XmlReader. Wenn das XmlResolver Objekt nullist, werden Schema Speicherorte nicht aufgelöst, auch wenn die ProcessInlineSchema-und ProcessSchemaLocation-Validierungsflags festgelegt sind.If the XmlResolver object is null, schema locations are not resolved even if the ProcessInlineSchema and ProcessSchemaLocation validation flags are set.

  • 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.Schemas added during validation add new types and can change the validation outcome of the document being validated. Daher sollten externe Schemata nur von vertrauenswürdigen Quellen aufgelöst werden.As a result, external schemas should only be resolved from trusted sources.

  • Validierungs Fehlermeldungen machen möglicherweise sensible Inhalts Modellinformationen verfügbar.Validation error messages may expose sensitive content model information. Validierungs Fehler und Warnmeldungen werden mithilfe des-ValidationEventHandler Delegaten behandelt oder als XmlSchemaValidationException verfügbar gemacht, wenn kein Ereignishandler für das XmlReaderSettings-Objekt bereitgestellt wird (Validierungs Warnungen bewirken nicht, dass ein XmlSchemaValidationException ausgelöst wird).Validation error and warning messages are handled using the ValidationEventHandler delegate, or are exposed as an XmlSchemaValidationException if no event handler is provided to the XmlReaderSettings object (validation warnings do not cause an XmlSchemaValidationException to be thrown). Diese Inhalts Modellinformationen sollten nicht in nicht vertrauenswürdigen Szenarien verfügbar gemacht werden.This content model information should not be exposed in untrusted scenarios. Validierungs Warnmeldungen werden standardmäßig unterdrückt und können gemeldet werden, indem das ReportValidationWarnings-Flag festgelegt wird.Validation warning messages are suppressed by default and can be reported by setting the ReportValidationWarnings flag.

  • Die SourceUri-Eigenschaft einer XmlSchemaValidationException gibt den URI-Pfad der Schema Datei zurück, die die Ausnahme verursacht hat.The SourceUri property of an XmlSchemaValidationException returns the URI path to the schema file that caused the exception. Die SourceUri-Eigenschaft sollte in nicht vertrauenswürdigen Szenarios nicht verfügbar gemacht werden.The SourceUri property should not be exposed in untrusted scenarios.

  • Das Deaktivieren des ProcessIdentityConstraints Flags (standardmäßig aktiviert) wird empfohlen, wenn Sie nicht vertrauenswürdige, große XML-Dokumente in Szenarios mit hoher Verfügbarkeit für ein Schema mit Identitäts Einschränkungen über einen großen Teil des Dokuments überprüfen.Disabling the ProcessIdentityConstraints flag (enabled by default) is recommended when validating, untrusted, large XML documents in high availability scenarios against a schema with identity constraints over a large part of the document.

  • XmlReaderSettings-Objekte können vertrauliche Informationen (z. B. Anmeldeinformationen des Benutzers) enthalten.XmlReaderSettings objects can contain sensitive information such as user credentials. Sie sollten daher beim Zwischenspeichern von XmlReaderSettings-Objekten oder bei der Übergabe eines XmlReaderSettings-Objekts von einer Komponente an eine andere sorgfältig vorgehen.You should be careful when caching XmlReaderSettings objects, or when passing the XmlReaderSettings object from one component to another.

  • Die DTD-Verarbeitung ist in der Standardeinstellung deaktiviert.DTD processing is disabled by default. Wenn Sie die DTD-Verarbeitung aktivieren, müssen Sie wissen, ob Sie DTDs aus nicht vertrauenswürdigen Quellen und mögliche Denial-of-Service-Angriffe einschließen.If you enable DTD processing, you need to be aware of including DTDs from untrusted sources and possible denial of service attacks. Verwenden Sie die XmlSecureResolver, um die Ressourcen einzuschränken, auf die der XmlReader zugreifen kann.Use the XmlSecureResolver to restrict the resources that the XmlReader can access.

  • 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).Do not accept supporting components, such as NameTable, XmlNamespaceManager, and XmlResolver objects, from an untrusted source.

  • Zwischen der Speichernutzung einer Anwendung, die XmlReader verwendet, und der Größe des analysierten XML-Dokuments kann eine enge Beziehung bestehen.Memory usage of an application that uses XmlReader may have a correlation to the size of the parsed XML document. Im Rahmen von Denial-of-Service-Angriffen können auch übermäßig große XML-Dokumente zum Analysieren gesendet werden.One form of denial of service attack is when excessively large XML documents are submitted to be parsed. Sie können die Größe des Dokuments, das analysiert werden kann, begrenzen, indem Sie die MaxCharactersInDocument-Eigenschaft festlegen und dann die Anzahl der Zeichen begrenzen, die sich aus dem Erweitern von Entitäten ergeben, indem Sie die MaxCharactersFromEntities-Eigenschaft festlegen.You can limit the size of the document that can be parsed by setting the MaxCharactersInDocument property and then limit the number of characters that result from expanding entities by setting the MaxCharactersFromEntities property.

Konstruktoren

XmlReaderSettings()

Initialisiert eine neue Instanz der XmlReaderSettings-Klasse.Initializes a new instance of the XmlReaderSettings class.

XmlReaderSettings(XmlResolver)

Initialisiert eine neue Instanz der XmlReaderSettings-Klasse.Initializes a new instance of the XmlReaderSettings class.

Eigenschaften

Async

Ruft ab oder legt fest, ob asynchrone XmlReader-Methoden für eine bestimmte XmlReader-Instanz verwendet werden können.Gets or sets whether asynchronous XmlReader methods can be used on a particular XmlReader instance.

CheckCharacters

Ruft einen Wert ab, der angibt, ob Zeichen überprüft werden sollen, oder legt diesen fest.Gets or sets a value indicating whether to do character checking.

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.Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed.

ConformanceLevel

Ruft den Konformitätsgrad ab, dem der XmlReader entspricht, oder legt diesen fest.Gets or sets the level of conformance which the XmlReader will comply.

DtdProcessing

Ruft einen Wert ab oder legt einen Wert fest, der die Verarbeitung von DTDs bestimmt.Gets or sets a value that determines the processing of DTDs.

IgnoreComments

Ruft einen Wert ab, der angibt, ob Kommentare ignoriert werden sollen, oder legt diesen fest.Gets or sets a value indicating whether to ignore comments.

IgnoreProcessingInstructions

Ruft einen Wert ab, der angibt, ob Verarbeitungsanweisungen ignoriert werden sollen, oder legt diesen fest.Gets or sets a value indicating whether to ignore processing instructions.

IgnoreWhitespace

Ruft einen Wert ab, der angibt, ob signifikanter Leerraum ignoriert werden soll, oder legt diesen Wert fest.Gets or sets a value indicating whether to ignore insignificant white space.

LineNumberOffset

Ruft das Zeilennummernoffset des XmlReader-Objekts ab oder legt dieses fest.Gets or sets line number offset of the XmlReader object.

LinePositionOffset

Ruft das Zeilenpositionsoffset des XmlReader-Objekts ab oder legt dieses fest.Gets or sets line position offset of the XmlReader object.

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.Gets or sets a value indicating the maximum allowable number of characters in a document that result from expanding entities.

MaxCharactersInDocument

Ruft einen Wert ab, der die maximale zulässige Anzahl von Zeichen in einem XML-Dokument angibt, oder legt diesen fest.Gets or sets a value indicating the maximum allowable number of characters in an XML document. Der Wert 0 (null) gibt an, dass die Größe des XML-Dokuments nicht beschränkt ist.A zero (0) value means no limits on the size of the XML document. Ein Wert ungleich 0 (null) gibt die maximale Größe in Zeichen an.A non-zero value specifies the maximum size, in characters.

NameTable

Ruft die für Vergleiche von atomisierten Zeichenfolgen verwendeteXmlNameTable ab oder legt diese fest.Gets or sets the XmlNameTable used for atomized string comparisons.

ProhibitDtd

Ruft einen Wert ab, der angibt, ob eine DTD-Verarbeitung (Document Type Definition, Dokumenttypdefinition) verhindert werden soll, oder legt diesen fest.Gets or sets a value indicating whether to prohibit document type definition (DTD) processing. Diese Eigenschaft ist veraltet.This property is obsolete. Verwenden Sie stattdessen DtdProcessing.Use DtdProcessing instead.

Schemas

Ruft das XmlSchemaSet ab, das beim Ausführen einer Schemavalidierung verwendet werden soll, oder legt dieses fest.Gets or sets the XmlSchemaSet to use when performing schema validation.

ValidationFlags

Ruft einen Wert ab, der die Schemavalidierungseinstellungen angibt, oder legt diesen fest.Gets or sets a value indicating the schema validation settings. Diese Einstellung gilt für XmlReader-Objekte, die Schemata validieren (ValidationType Eigenschaft auf ValidationType.Schema festgelegt).This setting applies to XmlReader objects that validate schemas (ValidationType property set to ValidationType.Schema).

ValidationType

Ruft einen Wert fest, der angibt, ob der XmlReader beim Lesen eine Validierung oder Typzuweisung ausführt, oder legt diesen Wert fest.Gets or sets a value indicating whether the XmlReader will perform validation or type assignment when reading.

XmlResolver

Legt den XmlResolver fest, der für den Zugriff auf externe Dokumente verwendet wird.Sets the XmlResolver used to access external documents.

Methoden

Clone()

Erstellt eine Kopie der XmlReaderSettings-Instanz.Creates a copy of the XmlReaderSettings instance.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Reset()

Setzt die Member der settings-Klasse auf ihre Standardwerte zurück.Resets the members of the settings class to their default values.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Ereignisse

ValidationEventHandler

Tritt ein, wenn der Reader Validierungsfehler feststellt.Occurs when the reader encounters validation errors.

Gilt für:

Siehe auch