XmlReaderSettings Klasa

Definicja

Określa zestaw funkcji do obsługi dla XmlReader obiektu utworzonego Create przez metodę.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
Dziedziczenie
XmlReaderSettings

Przykłady

Poniższy przykład tworzy XmlReader , który XmlUrlResolver używa z z niezbędnymi poświadczeniami.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.
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);
' 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)

Uwagi

Używasz metody do uzyskiwania XmlReaderwystąpień. CreateYou use the Create method to obtain XmlReader instances. Ta metoda używa klasy XmlReaderSettings , aby określić, które funkcje zaimplementować w tworzonym przez XmlReader niego obiekcie.This method uses the XmlReaderSettings class to specify which features to implement in the XmlReader object it creates.

Zapoznaj się z sekcjami XmlReader spostrzeżenia Create stron i strony referencyjne, aby uzyskać informacje o ustawieniach, które mają być używane do kontroli zgodności, sprawdzania poprawności i innych typowych scenariuszy.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. Aby uzyskać listę ustawień domyślnych, zobacz Konstruktor.XmlReaderSettings()See the XmlReaderSettings() constructor for a list of default settings.

Zagadnienia dotyczące bezpieczeństwaSecurity considerations

Podczas używania XmlReaderSettings klasy należy wziąć pod uwagę następujące kwestie.Consider the following when using the XmlReaderSettings class.

  • Flagi ProcessInlineSchema iProcessSchemaLocation Walidacja obiektuniesąustawianedomyślnie.XmlReaderSettingsThe ProcessInlineSchema and ProcessSchemaLocation validation flags of an XmlReaderSettings object are not set by default. Gdy te flagi są ustawione, XmlResolver XmlReaderSettings obiekt jest używany do rozpoznawania lokalizacji schematu napotkanych w dokumencie wystąpienia w XmlReaderobiekcie.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. Jeśli obiekt jest null, lokalizacje schematu ProcessInlineSchema nie są rozpoznawane, nawet jeśli flagi ProcessSchemaLocation i walidacja są ustawione. XmlResolverIf the XmlResolver object is null, schema locations are not resolved even if the ProcessInlineSchema and ProcessSchemaLocation validation flags are set.

  • Schematy dodane podczas walidacji Dodaj nowe typy i można zmienić wynik walidacji zweryfikowanego dokumentu.Schemas added during validation add new types and can change the validation outcome of the document being validated. W związku z tym schematy zewnętrzne powinny być rozpoznawane tylko z zaufanych źródeł.As a result, external schemas should only be resolved from trusted sources.

  • Komunikaty o błędach weryfikacji mogą uwidaczniać poufne informacje o modelu zawartości.Validation error messages may expose sensitive content model information. Błędy walidacji i komunikaty ostrzegawcze są obsługiwane ValidationEventHandler za pomocą delegata lub są udostępniane XmlSchemaValidationException jako Jeśli nie ma XmlReaderSettings obsługi zdarzeń do XmlSchemaValidationException obiektu (ostrzeżenia o walidacji nie powodują zgłoszenia).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). Informacje o modelu zawartości nie powinny być ujawnione w scenariuszach niezaufanych.This content model information should not be exposed in untrusted scenarios. Komunikaty ostrzegawcze walidacji są domyślnie pomijane i mogą być zgłaszane przez ustawienie ReportValidationWarnings flagi.Validation warning messages are suppressed by default and can be reported by setting the ReportValidationWarnings flag.

  • SourceUri WłaściwośćXmlSchemaValidationException zwraca ścieżkę identyfikatora URI do pliku schematu, który spowodował wyjątek.The SourceUri property of an XmlSchemaValidationException returns the URI path to the schema file that caused the exception. SourceUri Właściwość nie powinna być ujawniana w scenariuszach niezaufanych.The SourceUri property should not be exposed in untrusted scenarios.

  • ProcessIdentityConstraints Wyłączenie flagi (domyślnie włączone) jest zalecane w przypadku walidacji, niezaufanych, dużych dokumentów XML w scenariuszach wysokiej dostępności względem schematu z ograniczeniami tożsamości w dużej części dokumentu.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.

  • XmlReaderSettingsobiekty mogą zawierać poufne informacje, takie jak poświadczenia użytkownika.XmlReaderSettings objects can contain sensitive information such as user credentials. Należy zachować ostrożność podczas buforowania XmlReaderSettings obiektów lub podczas XmlReaderSettings przekazywania obiektu z jednego składnika do drugiego.You should be careful when caching XmlReaderSettings objects, or when passing the XmlReaderSettings object from one component to another.

  • Przetwarzanie DTD jest domyślnie wyłączone.DTD processing is disabled by default. W przypadku włączenia przetwarzania DTD należy zwrócić uwagę na to, co obejmuje definicje DTD z niezaufanych źródeł i możliwy atak typu "odmowa usługi".If you enable DTD processing, you need to be aware of including DTDs from untrusted sources and possible denial of service attacks. Użyj, XmlSecureResolver aby ograniczyć zasoby XmlReader , do których może uzyskać dostęp.Use the XmlSecureResolver to restrict the resources that the XmlReader can access.

  • Nie Akceptuj składników pomocniczych, takich jak NameTable, XmlNamespaceManageri XmlResolver obiektów, z niezaufanego źródła.Do not accept supporting components, such as NameTable, XmlNamespaceManager, and XmlResolver objects, from an untrusted source.

  • Użycie pamięci przez aplikację, która używa XmlReader programu, może mieć korelację z rozmiarem przeanalizowanego dokumentu XML.Memory usage of an application that uses XmlReader may have a correlation to the size of the parsed XML document. Jedna z form ataku typu "odmowa usługi" polega na tym, że zbyt duże dokumenty XML są przesyłane w celu przeanalizowania.One form of denial of service attack is when excessively large XML documents are submitted to be parsed. Można ograniczyć rozmiar dokumentu, który może być analizowany przez ustawienie MaxCharactersInDocument właściwości, a następnie ograniczyć liczbę znaków, które powodują rozwijanie jednostek przez MaxCharactersFromEntities ustawienie właściwości.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.

Konstruktory

XmlReaderSettings()

Inicjuje nowe wystąpienie klasy XmlReaderSettings klasy.Initializes a new instance of the XmlReaderSettings class.

XmlReaderSettings(XmlResolver)

Inicjuje nowe wystąpienie klasy XmlReaderSettings klasy.Initializes a new instance of the XmlReaderSettings class.

Właściwości

Async

Pobiera lub ustawia, czy XmlReader metody asynchroniczne mogą być używane w konkretnym XmlReader wystąpieniu.Gets or sets whether asynchronous XmlReader methods can be used on a particular XmlReader instance.

CheckCharacters

Pobiera lub ustawia wartość wskazującą, czy sprawdzanie znaków ma być przeprowadzane.Gets or sets a value indicating whether to do character checking.

CloseInput

Pobiera lub ustawia wartość wskazującą, czy strumień źródłowy lub TextReader powinien być zamknięty, gdy czytnik jest zamknięty.Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed.

ConformanceLevel

Pobiera lub ustawia poziom zgodności, który XmlReader będzie zgodny.Gets or sets the level of conformance which the XmlReader will comply.

DtdProcessing

Pobiera lub ustawia wartość określającą przetwarzanie elementów DTD.Gets or sets a value that determines the processing of DTDs.

IgnoreComments

Pobiera lub ustawia wartość wskazującą, czy komentarze mają być ignorowane.Gets or sets a value indicating whether to ignore comments.

IgnoreProcessingInstructions

Pobiera lub ustawia wartość wskazującą, czy ignorować instrukcje przetwarzania.Gets or sets a value indicating whether to ignore processing instructions.

IgnoreWhitespace

Pobiera lub ustawia wartość wskazującą, czy ignorowanie nieznaczącego odstępu.Gets or sets a value indicating whether to ignore insignificant white space.

LineNumberOffset

Pobiera lub ustawia przesunięcie XmlReader numeru wiersza dla obiektu.Gets or sets line number offset of the XmlReader object.

LinePositionOffset

Pobiera lub ustawia przesunięcie XmlReader położenia wiersza dla obiektu.Gets or sets line position offset of the XmlReader object.

MaxCharactersFromEntities

Pobiera lub ustawia wartość wskazującą maksymalną dozwoloną liczbę znaków w dokumencie, która powoduje powiększanie jednostek.Gets or sets a value indicating the maximum allowable number of characters in a document that result from expanding entities.

MaxCharactersInDocument

Pobiera lub ustawia wartość wskazującą maksymalną dozwoloną liczbę znaków w dokumencie XML.Gets or sets a value indicating the maximum allowable number of characters in an XML document. Wartość zerowa (0) oznacza brak limitów rozmiaru dokumentu XML.A zero (0) value means no limits on the size of the XML document. Wartość różna od zera określa maksymalny rozmiar w znakach.A non-zero value specifies the maximum size, in characters.

NameTable

Pobiera lub ustawia wartość XmlNameTable używaną do porównywania ciągów.Gets or sets the XmlNameTable used for atomized string comparisons.

ProhibitDtd

Pobiera lub ustawia wartość wskazującą, czy należy zakazać przetwarzania definicji typu dokumentu (DTD).Gets or sets a value indicating whether to prohibit document type definition (DTD) processing. Ta właściwość jest przestarzała.This property is obsolete. Zamiast nich należy używać słów kluczowych DtdProcessing.Use DtdProcessing instead.

Schemas

Pobiera lub ustawia wartość XmlSchemaSet do użycia podczas wykonywania walidacji schematu.Gets or sets the XmlSchemaSet to use when performing schema validation.

ValidationFlags

Pobiera lub ustawia wartość wskazującą ustawienia walidacji schematu.Gets or sets a value indicating the schema validation settings. To ustawienie dotyczy XmlReader obiektów, które weryfikują schematyValidationType (Właściwość ustawiona ValidationType.Schemana).This setting applies to XmlReader objects that validate schemas (ValidationType property set to ValidationType.Schema).

ValidationType

Pobiera lub ustawia wartość wskazującą, czy XmlReader program będzie wykonywał walidację, czy przypisanie typu podczas odczytu.Gets or sets a value indicating whether the XmlReader will perform validation or type assignment when reading.

XmlResolver

XmlResolver Ustawia używany do uzyskiwania dostępu do zewnętrznych dokumentów.Sets the XmlResolver used to access external documents.

Metody

Clone()

Tworzy kopię XmlReaderSettings wystąpienia.Creates a copy of the XmlReaderSettings instance.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Reset()

Resetuje elementy członkowskie klasy Settings do ich wartości domyślnych.Resets the members of the settings class to their default values.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Zdarzenia

ValidationEventHandler

Występuje, gdy czytnik napotyka błędy walidacji.Occurs when the reader encounters validation errors.

Dotyczy

Zobacz też