Share via


Accès à des ressources externes pour l'objet XmlReader

La classe XmlResolver permet de localiser et d'accéder aux ressources requises par l'objet XmlReader.

Vue d'ensemble

L'objet XmlResolver permet d'effectuer les opérations suivantes :

  • Localiser et ouvrir le document d'instance XML.

  • Localiser et ouvrir toute ressource externe à laquelle le document d'instance XML fait référence. Il peut s'agir d'entités, d'une définition de type de document, de schémas, etc.

  • Si la ressource est stockée sur un système qui exige une authentification, la propriété XmlResolver.Credentials peut permettre de spécifier les informations d'identification nécessaires.

Pour spécifier l'objet XmlResolver à utiliser, définissez la propriété XmlReaderSettings.XmlResolver et transmettez l'objet XmlReaderSettings à la méthode Create.

Notes

Si aucun objet XmlResolver n'est spécifiée, le lecteur créé utilise un objet XmlUrlResolver par défaut sans informations d'identification.

Le code suivant crée une instance de l'objet XmlReader qui utilise un objet XmlUrlResolver avec les informations d'identification par défaut.

' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Set the reader settings object to use the resolver.
settings.XmlResolver = resolver

' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("https://ServerName/data/books.xml", settings)
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Set the reader settings object to use the resolver.
settings.XmlResolver = resolver;

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("https://ServerName/data/books.xml", settings);
// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;

 // Set the reader settings object to use the resolver.
 settings->XmlResolver = resolver;

// Create the XmlReader object.
XmlReader^ reader = XmlReader::Create( L"https://ServerName/data/books.xml", settings );

L'espace de noms System.Xml comprend deux implémentations concrètes de la classe XmlResolver.

  • XmlUrlResolver – Utilise les protocoles file:// et http:// pour la résolution. Il s'agit du programme de résolution par défaut.

  • XmlSecureResolver - Permet de sécuriser une autre implémentation de l'objet XmlResolver en enveloppant l'objet XmlResolver et en limitant les ressources auxquelles la classe XmlResolver sous-jacente peut accéder.

Pour plus d'informations, voir Résolution de ressources XML externes nommées par un URI.

Voir aussi

Concepts

Lecture de XML avec XmlReader

Autres ressources

Utilisation de la classe XmlReader