XmlReaderSettings Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
- Наследование
-
XmlReaderSettings
Примеры
В следующем примере создается объект XmlReader , использующий XmlUrlResolver необходимые учетные данные.
// 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. Этот метод использует XmlReaderSettings класс, чтобы указать, какие функции следует реализовать в объекте XmlReader , который он создает.
Дополнительные сведения о параметрах, используемых для проверок соответствия, проверки и других распространенных сценариев см. в разделах XmlReader "Примечания" и Create "Справочные страницы". См. XmlReaderSettings() конструктор списка параметров по умолчанию.
Вопросы безопасности
При использовании класса XmlReaderSettings, следует учитывать следующее.
Флаги проверки ProcessInlineSchema и ProcessSchemaLocation в объекте XmlReaderSettings не задаются по умолчанию. Если эти флаги заданы, XmlResolver объекта XmlReaderSettings используется для разрешения расположений схем, встречающихся в документе экземпляра XmlReader. Если объект XmlResolver имеет значение
null, расположения схем не будут разрешены, даже если ProcessInlineSchema и ProcessSchemaLocation заданы флаги проверки.Схемы, добавленные во время проверки, добавляют новые типы и могут изменить результаты проверки проверяемого документа. Следовательно, внешние схемы должны браться на рассмотрение только из надежных источников.
Сообщения об ошибках проверки могут предоставлять конфиденциальные сведения о модели содержимого. Сообщения об ошибке проверки и предупреждения обрабатываются с помощью ValidationEventHandler делегата или передаются напрямую как XmlSchemaValidationException, если обработчик событий не предоставлен объекту XmlReaderSettings (предупреждения проверки не приводят к выбросу XmlSchemaValidationException). Эти сведения о модели содержимого не должны предоставляться в ненадежных сценариях. Предупреждающие сообщения проверки подавляются по умолчанию и могут быть сообщены, задав ReportValidationWarnings флаг.
Свойство SourceUri элемента XmlSchemaValidationException возвращает путь URI к файлу схемы, который вызвал исключение. Свойство SourceUri не должно быть предоставлено в ненадежных сценариях.
Отключение ProcessIdentityConstraints флага (включено по умолчанию) рекомендуется при проверке ненадёжных больших XML-документов в сценариях высокой доступности для схемы с ограничениями идентификации в большой части документа.
XmlReaderSettings объекты могут содержать конфиденциальную информацию, например учетные данные пользователя. При кэшировании объектов XmlReaderSettings или при передаче объекта XmlReaderSettings от одного компонента к другому следует быть осторожным.
Обработка DTD отключена по умолчанию. Если вы включите обработку DTD, необходимо учесть возможность включения DTD из ненадежных источников и возможных атак типа "отказ в обслуживании". Используйте ThrowingResolver для ограничения доступных ресурсов XmlReader .
Не принимать вспомогательные компоненты, такие как NameTable, XmlNamespaceManagerи XmlResolver объекты, из ненадежного источника.
Использование памяти приложения, использующего XmlReader, может иметь корреляцию с размером XML-документа, который был проанализирован. Одна из форм атаки типа "отказ в обслуживании" заключается в том, что для анализа отправляются слишком большие XML-документы. Вы можете ограничить размер документа, который можно проанализировать, задав MaxCharactersInDocument свойство, а затем ограничить количество символов, полученных от расширения сущностей, задав MaxCharactersFromEntities свойство.
Конструкторы
| Имя | Описание |
|---|---|
| XmlReaderSettings() |
Инициализирует новый экземпляр класса XmlReaderSettings. |
| XmlReaderSettings(XmlResolver) |
Устаревшие.
Инициализирует новый экземпляр класса XmlReaderSettings. |
Свойства
| Имя | Описание |
|---|---|
| Async |
Возвращает или задает, можно ли использовать асинхронные XmlReader методы для определенного XmlReader экземпляра. |
| CheckCharacters |
Возвращает или задает значение, указывающее, следует ли выполнять проверку символов. |
| CloseInput |
Возвращает или задает значение, указывающее, должен ли базовый поток или TextReader должен быть закрыт при закрытии средства чтения. |
| ConformanceLevel |
Возвращает или задает уровень соответствия, с которым будет соответствовать.XmlReader |
| DtdProcessing |
Возвращает или задает значение, определяющее обработку DTD. |
| IgnoreComments |
Возвращает или задает значение, указывающее, следует ли игнорировать комментарии. |
| IgnoreProcessingInstructions |
Возвращает или задает значение, указывающее, следует ли игнорировать инструкции по обработке. |
| IgnoreWhitespace |
Возвращает или задает значение, указывающее, следует ли игнорировать незначительные пробелы. |
| LineNumberOffset |
Возвращает или задает смещение XmlReader номера строки объекта. |
| LinePositionOffset |
Возвращает или задает смещение XmlReader позиции строки объекта. |
| MaxCharactersFromEntities |
Возвращает или задает значение, указывающее максимально допустимое количество символов в документе, которое приводит к расширению сущностей. |
| MaxCharactersInDocument |
Возвращает или задает значение, указывающее максимально допустимое число символов в XML-документе. Нулевое значение (0) означает отсутствие ограничений на размер XML-документа. Значение, отличное от нуля, указывает максимальный размер в символах. |
| NameTable |
Возвращает или задает используемый XmlNameTable для атомизованных сравнений строк. |
| ProhibitDtd |
Устаревшие.
Устаревшие.
Возвращает или задает значение, указывающее, следует ли запретить обработку определения типа документа (DTD). Это свойство устарело. Вместо этого используйте DtdProcessing. |
| Schemas |
Возвращает или задает значение, используемое XmlSchemaSet при проверке схемы. |
| ValidationFlags |
Возвращает или задает значение, указывающее параметры проверки схемы. Этот параметр применяется к XmlReader объектам, проверяющим схемы (ValidationType для свойства задано значение |
| ValidationType |
Возвращает или задает значение, указывающее, будет ли XmlReader выполняться проверка или назначение типов при чтении. |
| XmlResolver |
Задает используемый XmlResolver для доступа к внешним документам. |
Методы
| Имя | Описание |
|---|---|
| Clone() |
Создает копию экземпляра XmlReaderSettings . |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Reset() |
Сбрасывает члены класса параметров в значения по умолчанию. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
События
| Имя | Описание |
|---|---|
| ValidationEventHandler |
Возникает, когда средство чтения обнаруживает ошибки проверки. |