XmlReaderSettings.XmlResolver Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Establece el objeto XmlResolver utilizado para obtener acceso a 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 de propiedad
Objeto XmlResolver utilizado para tener acceso a documentos externos. Si se establece en null
, se produce una excepción XmlException cuando el objeto XmlReader intenta obtener acceso a un recurso externo. El valor predeterminado es un nuevo objeto XmlUrlResolver sin credenciales. A partir de la .NET Framework 4.5.2, esta configuración tiene un valor predeterminado de null
.
Ejemplos
En el ejemplo siguiente se crea un XmlReader objeto que usa un XmlSecureResolver objeto con credenciales predeterminadas.
// 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)
Comentarios
XmlResolver se usa para buscar y abrir un documento de instancia XML, o para buscar y abrir los recursos externos a los que hace referencia el documento de instancia XML. Esto puede incluir entidades, DTD o esquemas. La XmlResolver.Credentials propiedad se puede usar para especificar las credenciales necesarias para la autenticación de red.
Importante
XmlResolver Dado que puede contener información confidencial, como las credenciales de usuario, debe tener cuidado al almacenar en caché XmlReaderSettings objetos o al pasar el XmlReaderSettings objeto de un componente a otro.
Se XmlSecureResolver puede usar para acceder a documentos externos. La XmlSecureResolver clase ayuda a proteger otra implementación de XmlResolver ajustando el XmlResolver objeto y restringiendo los recursos a los que tiene acceso el subyacente XmlResolver .
Las marcas de validación ProcessInlineSchema y ProcessSchemaLocation de un objeto XmlReaderSettings no están establecidos de manera predeterminada. Cuando se establecen estas marcas, se utiliza el XmlResolver del objeto XmlReaderSettings para resolver las ubicaciones de esquemas que se encuentra en el documento de la instancia de XmlReader. Si el XmlResolver objeto es null
, las ubicaciones de esquema no se resuelven aunque se establezcan las ProcessInlineSchema marcas de validación y ProcessSchemaLocation .
Los esquemas agregados durante la validación agregan nuevos tipos y pueden cambiar el resultado de la validación del documento. Como consecuencia, los esquemas externos solo se deberían resolver desde orígenes de confianza.