XmlReaderSettings Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
- Herança
-
XmlReaderSettings
Exemplos
O exemplo a seguir cria um XmlReader que usa uma XmlUrlResolver com as credenciais necessárias.
// 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)
Comentários
Use o método Create para obter instâncias XmlReader. Esse método usa a XmlReaderSettings classe para especificar quais recursos implementar no XmlReader objeto que ele cria.
Consulte as seções de comentários nas páginas de referência XmlReader e Create para obter informações sobre quais configurações usar para verificações de conformidade, validação e outros cenários comuns. Consulte o XmlReaderSettings() construtor para obter uma lista de configurações padrão.
Considerações de segurança
Considere o seguinte ao usar a XmlReaderSettings classe.
Os sinalizadores de validação ProcessInlineSchema e ProcessSchemaLocation de um objeto XmlReaderSettings não são definidos por padrão. Quando esses sinalizadores são definidos, XmlResolver do objeto de XmlReaderSettings é usado para resolver os locais de esquema encontrados no documento de instância em XmlReader. Se o XmlResolver objeto estiver
null, os locais de esquema não serão resolvidos mesmo se os sinalizadores ProcessInlineSchema e ProcessSchemaLocation de validação estiverem definidos.Os esquemas adicionados durante a validação adicionam novos tipos e podem alterar o resultado da validação do documento que está sendo validado. Como resultado, os esquemas externos só devem ser resolvidos de fontes confiáveis.
Mensagens de erro de validação podem expor informações confidenciais do modelo de conteúdo. As mensagens de aviso e erro de validação são tratadas com o uso do delegado ValidationEventHandler ou são expostas como XmlSchemaValidationException se nenhum manipulador de eventos for fornecido ao objeto XmlReaderSettings (os avisos de validação não fazem com que um XmlSchemaValidationException seja gerado). Essas informações do modelo de conteúdo não devem ser expostas em cenários não confiáveis. As mensagens de aviso de validação são suprimidas por padrão e podem ser relatadas definindo o ReportValidationWarnings sinalizador.
A propriedade SourceUri de um XmlSchemaValidationException retorna o caminho do URI para o arquivo de esquema que causou a exceção. A propriedade SourceUri não deve ser exposta em cenários não confiáveis.
É recomendável desabilitar o ProcessIdentityConstraints sinalizador (habilitado por padrão) ao validar documentos XML grandes e não confiáveis em cenários de alta disponibilidade em relação a um esquema com restrições de identidade em grande parte do documento.
XmlReaderSettings os objetos podem conter informações confidenciais, como credenciais de usuário. Você deve ter cuidado ao armazenar objetos em cache XmlReaderSettings ou ao passar o XmlReaderSettings objeto de um componente para outro.
O processamento de DTD está desabilitado por padrão. Se você habilitar o processamento de DTD, precisará estar ciente da inclusão de DTDs de fontes não confiáveis e possíveis ataques de negação de serviço. Use ThrowingResolver para restringir os recursos que podem XmlReader ser acessados.
Não aceite componentes de suporte, como NameTable, XmlNamespaceManagere XmlResolver objetos, de uma fonte não confiável.
O uso de memória de um aplicativo que usa XmlReader pode ter uma correlação com o tamanho do documento XML analisado. Uma forma de ataque de negação de serviço é quando documentos XML excessivamente grandes são enviados para serem analisados. Você pode limitar o tamanho do documento que pode ser analisado definindo a MaxCharactersInDocument propriedade e, em seguida, limitar o número de caracteres resultantes da expansão de entidades definindo a MaxCharactersFromEntities propriedade.
Construtores
| Nome | Description |
|---|---|
| XmlReaderSettings() |
Inicializa uma nova instância da classe XmlReaderSettings. |
| XmlReaderSettings(XmlResolver) |
Obsoleto.
Inicializa uma nova instância da classe XmlReaderSettings. |
Propriedades
| Nome | Description |
|---|---|
| Async |
Obtém ou define se métodos assíncronos podem ser usados XmlReader em uma instância específica XmlReader . |
| CheckCharacters |
Obtém ou define um valor que indica se deve fazer a verificação de caracteres. |
| CloseInput |
Obtém ou define um valor que indica se o fluxo subjacente ou TextReader deve ser fechado quando o leitor é fechado. |
| ConformanceLevel |
Obtém ou define o nível de conformidade com o qual o XmlReader will comply. |
| DtdProcessing |
Obtém ou define um valor que determina o processamento de DTDs. |
| IgnoreComments |
Obtém ou define um valor que indica se os comentários devem ser ignorados. |
| IgnoreProcessingInstructions |
Obtém ou define um valor que indica se as instruções de processamento devem ser ignoradas. |
| IgnoreWhitespace |
Obtém ou define um valor que indica se o espaço em branco insignificante deve ser ignorado. |
| LineNumberOffset |
Obtém ou define o deslocamento de número de linha do XmlReader objeto. |
| LinePositionOffset |
Obtém ou define o deslocamento de posição da linha do XmlReader objeto. |
| MaxCharactersFromEntities |
Obtém ou define um valor que indica o número máximo permitido de caracteres em um documento resultante da expansão de entidades. |
| MaxCharactersInDocument |
Obtém ou define um valor que indica o número máximo permitido de caracteres em um documento XML. Um valor zero (0) significa que não há limites no tamanho do documento XML. Um valor diferente de zero especifica o tamanho máximo, em carateres. |
| NameTable |
Obtém ou define o XmlNameTable usado para comparações de cadeia de caracteres atomizada. |
| ProhibitDtd |
Obsoleto.
Obsoleto.
Obtém ou define um valor que indica se o processamento de DTD (definição de tipo de documento) deve ser proibido. Esta propriedade é obsoleta. Use DtdProcessing em seu lugar. |
| Schemas |
Obtém ou define o XmlSchemaSet que usar ao executar a validação de esquema. |
| ValidationFlags |
Obtém ou define um valor que indica as configurações de validação de esquema. Essa configuração se aplica a XmlReader objetos que validam esquemas (ValidationType propriedade definida como |
| ValidationType |
Obtém ou define um valor que indica se a XmlReader atribuição de tipo ou validação será executada ao ler. |
| XmlResolver |
Define o XmlResolver usado para acessar documentos externos. |
Métodos
| Nome | Description |
|---|---|
| Clone() |
Cria uma cópia da XmlReaderSettings instância. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| Reset() |
Redefine os membros da classe de configurações para seus valores padrão. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Eventos
| Nome | Description |
|---|---|
| ValidationEventHandler |
Ocorre quando o leitor encontra erros de validação. |