Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
XmlReaderSettings-Klasse
Assembly: System.Xml (in System.Xml.dll)
Der XmlReaderSettings-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
XmlReaderSettings | Initialisiert eine neue Instanz der XmlReaderSettings-Klasse. |
| Name | Beschreibung | |
|---|---|---|
|
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 die DtdProcessing-Enumeration ab oder legt diese fest. |
|
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 maximale 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 verwendete XmlNameTable ab oder legt diese fest. |
|
ProhibitDtd | 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 wird für XmlReader-Objekte zur Schemavalidierung angewendet (die ValidationType-Eigenschaft ist 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. |
| Name | Beschreibung | |
|---|---|---|
|
Clone | Erstellt eine Kopie der XmlReaderSettings-Instanz. |
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
Reset | Setzt die Member der settings-Klasse auf ihre Standardwerte zurück. |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
| Name | Beschreibung | |
|---|---|---|
|
ValidationEventHandler | Tritt ein, wenn der Reader Validierungsfehler feststellt. |
In der Version .NET Framework, Version 2.0 stellt die Create-Methode den bevorzugten Mechanismus zum Abrufen von XmlReader-Instanzen dar. Die Create-Methode gibt mithilfe der XmlReaderSettings-Klasse an, welche Features im erstellten XmlReader-Objekt implementiert werden sollen.
Weitere Informationen finden Sie unter Erstellen von XML-Readern.
Sicherheitsüberlegungen
Berücksichtigen Sie die folgenden Aspekte beim Verwenden der XmlReaderSettings-Klasse.
-
Das ProcessInlineSchema-Validierungsflag und das ProcessSchemaLocation-Validierungsflag eines XmlReaderSettings-Objekts sind in der Standardeinstellung nicht festgelegt. Wenn diese Flags festgelegt werden, wird der XmlResolver des XmlReaderSettings-Objekts zum Auflösen von im Instanzendokument angegebenen Schemaspeicherorten im XmlReader verwendet. Wenn das XmlResolver-Objekt null ist, werden Schemaspeicherorte auch dann nicht aufgelöst, wenn das ProcessInlineSchema-Validierungsflag und das ProcessSchemaLocation-Validierungsflag festgelegt wurden.
-
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.
-
Validierungsfehlermeldungen machen möglicherweise vertrauliche Inhaltsmodellinformationen verfügbar. Validierungsfehlermeldungen und Warnmeldungen werden mit dem ValidationEventHandler-Delegaten behandelt oder als XmlSchemaValidationException verfügbar gemacht, wenn für das XmlReaderSettings-Objekt kein Ereignishandler bereitgestellt wird (durch Validierungswarnungen wird keine XmlSchemaValidationException ausgelöst). Diese Inhaltsmodellinformationen dürfen in nicht vertrauenswürdigen Szenarios nicht verfügbar gemacht werden. Validierungswarnmeldungen werden standardmäßig unterdrückt und können gemeldet werden, indem das ReportValidationWarnings-Flag festgelegt wird.
-
Die SourceUri-Eigenschaft einer XmlSchemaValidationException gibt den URI-Pfad der Schemadatei zurück, die die Ausnahme verursacht hat. Die SourceUri-Eigenschaft darf in nicht vertrauenswürdigen Szenarios nicht verfügbar gemacht werden.
-
Beim Überprüfen nicht vertrauenswürdiger großer XML-Dokumente in Szenarios mit hoher Verfügbarkeit anhand eines Schemas mit Identitätseinschränkungen in einem großen Teil des Dokuments wird das Deaktivieren des ProcessIdentityConstraints-Flags (standardmäßig aktiviert) empfohlen.
-
XmlReaderSettings-Objekte können vertrauliche Informationen enthalten, z. B. Benutzeranmeldeinformationen. Gehen Sie beim Zwischenspeichern von XmlReaderSettings-Objekten oder beim Übergeben des XmlReaderSettings-Objekts von einer Komponente an eine andere vorsichtig vor.
-
Die DTD-Verarbeitung ist standardmäßig deaktiviert. Wenn Sie die DTD-Verarbeitung aktivieren, müssen Sie auf einschließende DTDs aus nicht vertrauenswürdigen Quellen und eventuelle Denial-of-Service-Angriffe achten. Beschränken Sie mithilfe des XmlSecureResolver die Ressourcen, auf die der XmlReader zugreifen kann.
-
Akzeptieren Sie von einer nicht vertrauenswürdigen Quelle keine Hilfskomponenten, z. B. die Objekte NameTable, XmlNamespaceManager und XmlResolver.
-
Zwischen der Speicherauslastung einer Anwendung, die XmlReader verwendet, und der Größe des analysierten XML-Dokuments besteht möglicherweise eine Wechselbeziehung. Eine Form des Denial-of-Service-Angriff liegt vor, wenn übermäßig große XML-Dokumente zur Analyse übermittelt werden. Sie können die Größe des analysierten Dokuments beshcränken, indem Sie die MaxCharactersInDocument-Eigenschaft festlegen und anschließend durch Festlegen der MaxCharactersFromEntities-Eigenschaft die Anzahl der Zeichen beschränken, die beim Erweitern von Entitäten entstehen.
Im folgenden Beispiel wird ein XmlReader erstellt, der einen XmlUrlResolver mit den erforderlichen Anmeldeinformationen verwendet.
// Create an XmlUrlResolver with the credentials necessary to access the Web server. XmlUrlResolver resolver = new XmlUrlResolver(); System.Net.NetworkCredential myCred; myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain); resolver.Credentials = myCred; XmlReaderSettings settings = new XmlReaderSettings(); settings.XmlResolver = resolver; // Create the reader. XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.