Partilhar via


XmlReaderSettings.XmlResolver Propriedade

Definição

Define o XmlResolver usado para acessar documentos externos.

public:
 property System::Xml::XmlResolver ^ XmlResolver {  void set(System::Xml::XmlResolver ^ value); };
public System.Xml.XmlResolver? XmlResolver { set; }
public System.Xml.XmlResolver XmlResolver { set; }
member this.XmlResolver : System.Xml.XmlResolver
Public Property XmlResolver As XmlResolver

Valor da propriedade

XmlResolver

Um XmlResolver usado para acessar documentos externos. Se for definido como null, uma XmlException será gerada quando o XmlReader tentar acessar um recurso externo. O padrão é um novo XmlUrlResolver sem credenciais. A partir do .NET Framework 4.5.2, essa configuração tem o valor padrão null.

Exemplos

O exemplo a seguir cria um XmlReader que usa um XmlSecureResolver com credenciais padrão.

// Create an XmlSecureResolver with default credentials.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://serverName/data/");
myResolver.Credentials = CredentialCache.DefaultCredentials;

XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = myResolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlSecureResolver with default credentials.
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
myResolver.Credentials = CredentialCache.DefaultCredentials

Dim settings As New XmlReaderSettings()
settings.XmlResolver = myResolver

' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)

Comentários

Ele XmlResolver é usado para localizar e abrir um documento de instância XML ou para localizar e abrir todos os recursos externos referenciados pelo documento da instância XML. Isso pode incluir entidades, DTD ou esquemas. A XmlResolver.Credentials propriedade pode ser usada para especificar todas as credenciais necessárias para autenticação de rede.

Importante

Como ela XmlResolver pode 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.

Um XmlSecureResolver pode ser usado para acessar documentos externos. A XmlSecureResolver classe ajuda a proteger outra implementação, XmlResolver encapsulando o XmlResolver objeto e restringindo os recursos aos quais o subjacente XmlResolver tem acesso.

Os sinalizadores de validação de ProcessInlineSchema e de ProcessSchemaLocation de um objeto de 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 for null, os locais do esquema não serão resolvidos mesmo se os sinalizadores de validação e os ProcessInlineSchema sinalizadores ProcessSchemaLocation de validação estiverem definidos.

Os esquemas adicionados durante a validação adicionar novos tipos e podem alterar o resultado de validação de documento que está sendo validada. Como resultado, os esquemas externos só devem ser resolvidos de fontes confiáveis.

Aplica-se a

Confira também