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

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

Exemplos

O exemplo a seguir cria um XmlReader que usa uma XmlSecureResolver credenciais com 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

O 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 as credenciais necessárias para a autenticação de rede.

Importante

Como pode XmlResolver 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 encapsulando XmlResolver o XmlResolver objeto e restringindo os recursos aos quais o subjacente XmlResolver tem acesso.

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.

Aplica-se a

Confira também