XmlReaderSettings Класс

Определение

Задает набор функций, которые должны поддерживаться объектом XmlReader, создаваемым с помощью метода Create.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
Наследование
XmlReaderSettings

Примеры

В следующем примере создается объект XmlReader , который использует объект XmlUrlResolver с необходимыми учетными данными.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)

Комментарии

CreateДля получения экземпляров используется метод XmlReader .You use the Create method to obtain XmlReader instances. Этот метод использует XmlReaderSettings класс, чтобы указать, какие функции следует реализовать в XmlReader создаваемом объекте.This method uses the XmlReaderSettings class to specify which features to implement in the XmlReader object it creates.

XmlReader Create Сведения о том, какие параметры следует использовать для проверок соответствия, проверки и других распространенных сценариев, см. в разделах с примечаниями на страницах и.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. XmlReaderSettings()Список параметров по умолчанию см. в конструкторе.See the XmlReaderSettings() constructor for a list of default settings.

Вопросы безопасностиSecurity considerations

При использовании класса учитывайте следующее XmlReaderSettings .Consider the following when using the XmlReaderSettings class.

  • Флаги проверки ProcessInlineSchema и ProcessSchemaLocation объекта XmlReaderSettings по умолчанию не установлены.The ProcessInlineSchema and ProcessSchemaLocation validation flags of an XmlReaderSettings object are not set by default. Если эти флаги установлены, для разрешения расположения схем, обнаруженных в экземпляре документа в объекте XmlResolver, используется арбитр XmlReaderSettings объекта XmlReader.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. Если XmlResolver объект имеет значение null , расположения схемы не разрешаются, даже ProcessInlineSchema Если ProcessSchemaLocation заданы флаги проверки и.If the XmlResolver object is null, schema locations are not resolved even if the ProcessInlineSchema and ProcessSchemaLocation validation flags are set.

  • Схемы, добавленные во время проверки, добавляют новые типы и могут изменить результат проверки документа.Schemas added during validation add new types and can change the validation outcome of the document being validated. Поэтому следует разрешать только внешние схемы из доверенных источников.As a result, external schemas should only be resolved from trusted sources.

  • Сообщения об ошибках проверки могут представлять сведения о модели конфиденциального содержимого.Validation error messages may expose sensitive content model information. Сообщения об ошибках и предупреждениях проверки обрабатываются с помощью ValidationEventHandler делегата или предоставляются как значение, XmlSchemaValidationException Если для объекта не предоставлен обработчик событий XmlReaderSettings (предупреждения проверки не вызывают XmlSchemaValidationException исключение).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). Эта информация о модели содержимого не должна предоставляться в недоверенных сценариях.This content model information should not be exposed in untrusted scenarios. Сообщения с предупреждениями о проверке по умолчанию подавляются, и их можно сообщить, установив ReportValidationWarnings флаг.Validation warning messages are suppressed by default and can be reported by setting the ReportValidationWarnings flag.

  • SourceUriСвойство объекта XmlSchemaValidationException возвращает путь универсального кода ресурса (URI) к файлу схемы, вызвавшему исключение.The SourceUri property of an XmlSchemaValidationException returns the URI path to the schema file that caused the exception. SourceUriСвойство не должно быть представлено в недоверенных сценариях.The SourceUri property should not be exposed in untrusted scenarios.

  • Отключение ProcessIdentityConstraints флага (включено по умолчанию) рекомендуется при проверке ненадежных больших XML-документов в сценариях высокого уровня доступности для схемы с ограничениями идентификации в большой части документа.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 могут содержать конфиденциальные сведения, например учетные данные пользователей.XmlReaderSettings objects can contain sensitive information such as user credentials. Следует соблюдать осторожность при кэшировании объектов XmlReaderSettings или при передаче объекта XmlReaderSettings от одного компонента другому.You should be careful when caching XmlReaderSettings objects, or when passing the XmlReaderSettings object from one component to another.

  • Обработка DTD по умолчанию отключена.DTD processing is disabled by default. При включении обработки DTD необходимо учитывать, что определения DTD из ненадежных источников и возможные атаки типа «отказ в обслуживании».If you enable DTD processing, you need to be aware of including DTDs from untrusted sources and possible denial of service attacks. Используйте XmlSecureResolver для ограничения ресурсов, XmlReader к которым может получить доступ.Use the XmlSecureResolver to restrict the resources that the XmlReader can access.

  • Не следует принимать вспомогательные компоненты, например объекты NameTable, XmlNamespaceManager и XmlResolver, из ненадежных источников.Do not accept supporting components, such as NameTable, XmlNamespaceManager, and XmlResolver objects, from an untrusted source.

  • Объем памяти, который требуется приложению, использующему объект XmlReader, может соотноситься с размерами анализируемого XML-документа.Memory usage of an application that uses XmlReader may have a correlation to the size of the parsed XML document. Одна из форм атаки типа «отказ в обслуживании» заключается в передаче для синтаксического анализа чрезмерно больших XML-документов.One form of denial of service attack is when excessively large XML documents are submitted to be parsed. Можно ограничить размер документа, который можно проанализировать, задав MaxCharactersInDocument свойство, а затем ограничив число символов, полученное в результате расширения сущностей, установив MaxCharactersFromEntities свойство.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.

Конструкторы

XmlReaderSettings()

Инициализирует новый экземпляр класса XmlReaderSettings.Initializes a new instance of the XmlReaderSettings class.

XmlReaderSettings(XmlResolver)
Является устаревшей.

Инициализирует новый экземпляр класса XmlReaderSettings.Initializes a new instance of the XmlReaderSettings class.

Свойства

Async

Получает или задает значение, указывающее, можно ли использовать асинхронные методы XmlReader для конкретного экземпляра XmlReader.Gets or sets whether asynchronous XmlReader methods can be used on a particular XmlReader instance.

CheckCharacters

Возвращает или задает значение, показывающее, осуществляется ли проверка символов.Gets or sets a value indicating whether to do character checking.

CloseInput

Возвращает или задает значение, указывающее, следует ли закрыть основной поток или TextReader при закрытии средства чтения.Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed.

ConformanceLevel

Возвращает или задает уровень соответствия для XmlReader.Gets or sets the level of conformance which the XmlReader will comply.

DtdProcessing

Получает или задает значение, определяющее обработку определений DTD.Gets or sets a value that determines the processing of DTDs.

IgnoreComments

Возвращает или задает значение, указывающее, следует ли игнорировать комментарии.Gets or sets a value indicating whether to ignore comments.

IgnoreProcessingInstructions

Возвращает или задает значение, указывающее, следует ли игнорировать инструкции по обработке.Gets or sets a value indicating whether to ignore processing instructions.

IgnoreWhitespace

Возвращает или задает значение, определяющее, будут ли игнорироваться незначимые символы-разделители.Gets or sets a value indicating whether to ignore insignificant white space.

LineNumberOffset

Возвращает или задает смещение номера строки объекта XmlReader.Gets or sets line number offset of the XmlReader object.

LinePositionOffset

Возвращает или задает смещение позиции строки объекта XmlReader.Gets or sets line position offset of the XmlReader object.

MaxCharactersFromEntities

Возвращает или задает значение, указывающее максимально допустимое количество символов в документе, которые возникают вследствие расширения сущностей.Gets or sets a value indicating the maximum allowable number of characters in a document that result from expanding entities.

MaxCharactersInDocument

Возвращает или задает значение, указывающее максимальное допустимое количество символов в XML-документе.Gets or sets a value indicating the maximum allowable number of characters in an XML document. Нуль (0) означает отсутствие ограничений на размер XML-документа.A zero (0) value means no limits on the size of the XML document. Значение, не равное нулю, указывает максимальное количество символов.A non-zero value specifies the maximum size, in characters.

NameTable

Возвращает или задает таблицу XmlNameTable, используемую для разделенных сравнений строк.Gets or sets the XmlNameTable used for atomized string comparisons.

ProhibitDtd
Является устаревшей.

Возвращает или задает значение, определяющее, следует ли запретить обработку DTD.Gets or sets a value indicating whether to prohibit document type definition (DTD) processing. Это свойство устарело.This property is obsolete. Взамен рекомендуется использовать DtdProcessing.Use DtdProcessing instead.

Schemas

Возвращает или задает XmlSchemaSet для использования при проверке схемы.Gets or sets the XmlSchemaSet to use when performing schema validation.

ValidationFlags

Возвращает или задает значение, указывающее параметры проверки схемы.Gets or sets a value indicating the schema validation settings. Этот параметр применим к объектам XmlReader, служащим для проверки схем (значение свойства ValidationType равно ValidationType.Schema).This setting applies to XmlReader objects that validate schemas (ValidationType property set to ValidationType.Schema).

ValidationType

Возвращает или задает значение, показывающее, будет ли XmlReader при считывании выполнять проверку типа назначения.Gets or sets a value indicating whether the XmlReader will perform validation or type assignment when reading.

XmlResolver

Задает XmlResolver, используемый для доступа ко внешним документам.Sets the XmlResolver used to access external documents.

Методы

Clone()

Создает копию экземпляра XmlReaderSettings.Creates a copy of the XmlReaderSettings instance.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
Reset()

Повторно загружает значения по умолчанию для элементов класса параметров.Resets the members of the settings class to their default values.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

События

ValidationEventHandler

Возникает, когда средство чтения встречает ошибки проверки.Occurs when the reader encounters validation errors.

Применяется к

См. также раздел