Especifica un conjunto de características compatibles en el objeto
XmlReader creado mediante el método
Create.
Espacio de nombres: System.Xml
Ensamblado: System.Xml (en system.xml.dll)

Sintaxis
Visual Basic (Declaración)
Public NotInheritable Class XmlReaderSettings
Dim instance As XmlReaderSettings
public sealed class XmlReaderSettings
public ref class XmlReaderSettings sealed
public final class XmlReaderSettings
public final class XmlReaderSettings

Comentarios
En la versión Microsoft .NET Framework versión 2.0, el método Create es el mecanismo preferido para obtener las instancias de XmlReader. El método Create utiliza la clase XmlReaderSettings para especificar las características que se van a implementar en el objeto XmlReader creado.
Para obtener más información, vea Creación de sistemas de lectura XML.
Consideraciones de seguridad
Debe tener en cuenta lo siguiente cuando utilice la clase XmlReaderSettings.
-
Los indicadores de validación ProcessInlineSchema y ProcessSchemaLocation de un objeto XmlReaderSettings no se establecen de forma predeterminada. Cuando se establecen estos indicadores, la propiedad XmlResolver del objeto XmlReaderSettings se utiliza para resolver las ubicaciones de esquema encontradas en el documento de instancia del objeto XmlReader. Si el objeto XmlResolver es referencia null (Nothing en Visual Basic), no se resolverán las ubicaciones del esquema aunque se hayan establecido los indicadores de validación ProcessInlineSchema y ProcessSchemaLocation.
-
Los esquemas agregados durante la validación agregan nuevos tipos y pueden cambiar el resultado de la validación del documento. Por consiguiente, sólo se deben resolver los esquemas externos procedentes de orígenes de confianza.
-
Los mensajes de errores de validación pueden exponer información confidencial sobre el modelo. Los mensajes de advertencia y errores de validación se controlan utilizando el delegado ValidationEventHandler, o bien se exponen como XmlSchemaValidationException si no se proporciona ningún controlador de eventos al objeto XmlReaderSettings (las advertencias de validación no hacen que se produzca ninguna excepción XmlSchemaValidationException). Esta información del modelo de contenido no se debe exponer en escenarios que no sean de confianza. De forma predeterminada, se suprimen mensajes de advertencia de validación, pero esta información se puede obtener estableciendo el indicador ReportValidationWarnings.
-
La propiedad SourceUri de XmlSchemaValidationException devuelve la ruta de acceso del URI al archivo de esquema que provocó la excepción. La propiedad SourceUri no se debe exponer en los escenarios que no sean de confianza.
-
Se recomienda deshabilitar el indicador ProcessIdentityConstraints (habilitado de forma predeterminada) al validar documentos XML de gran tamaño y que no sean de confianza en escenarios del alta disponibilidad en un esquema con restricciones de identidad en gran parte del documento.
-
Los objetos XmlReaderSettings pueden contener información confidencial, como las credenciales de los usuarios. Debe tener cuidado al almacenar objetos XmlReaderSettings en la memoria caché y al pasar el objeto XmlReaderSettings de un componente a otro.
-
El procesamiento de DTD está deshabilitado de forma predeterminada. Si lo habilita, debe tener en cuenta la inclusión de archivos DTD procedentes de orígenes que no son de confianza y los posibles ataques de denegación del servicio. Utilice XmlSecureResolver para restringir los recursos a los que puede tener acceso XmlReader.
-
No acepte componentes auxiliares, como objetos NameTable, XmlNamespaceManager y XmlResolver, de un origen en el que no confíe.

Ejemplo
En el ejemplo siguiente, se crea un objeto XmlReader que utiliza un XmlUrlResolver con las credenciales necesarias.
' Create an XmlUrlResolver with the credentials necessary to access the Web server.
Dim resolver As New XmlUrlResolver()
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
Dim settings As New XmlReaderSettings()
settings.XmlResolver = resolver
' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)
// Create an XmlUrlResolver with the credentials necessary to access the Web server.
XmlUrlResolver resolver = new XmlUrlResolver();
System.Net.NetworkCredential myCred;
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);
resolver.Credentials = myCred;
XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = resolver;
// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);

Jerarquía de herencia

Seguridad para subprocesos
Los miembros estáticos públicos (
Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Plataformas
Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter
Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

Información de versión
.NET Framework
Compatible con: 3.0, 2.0
.NET Compact Framework
Compatible con: 2.0
XNA Framework
Compatible con: 1.0

Vea también