Compartir a través de


Acceso a recursos externos para XmlReader

La clase XmlResolver se utiliza para localizar y tener acceso a cualquier recurso que necesite el objeto XmlReader.

Información general

XmlResolver se puede utilizar para lo siguiente:

  • Localizar y abrir el documento de instancia XML.

  • Localizar y abrir cualquier recurso externo al que haga referencia el documento de instancia XML. Esto puede incluir entidades, una definición de tipo de documentos, esquemas, etc.

  • Si el recurso se almacena en un sistema que requiere autenticación, se puede utilizar la propiedad XmlResolver.Credentials para especificar las credenciales necesarias.

Para especificar el XmlResolver que se va a utilizar, establezca la propiedad XmlReaderSettings.XmlResolver y pase el objeto XmlReaderSettings al método Create.

Nota

Si no se especifica un XmlResolver, el sistema de lectura creado utiliza un XmlUrlResolver predeterminado sin ninguna credencial de usuario.

El siguiente código crea una instancia de XmlReader que utiliza un XmlUrlResolver con credenciales predeterminadas.

' 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 );

El espacio de nombres System.Xml incluye dos implementaciones concretas de la clase XmlResolver.

Para obtener información adicional, vea Resolver recursos XML externos nombrados por un identificador URI.

Vea también

Conceptos

Leer fragmentos de XML con XmlReader

Otros recursos

Uso de la clase XmlReader