XmlReaderSettings Clase

Definición

Especifica un conjunto de características que se admitirán en el XmlReader objeto creado por el Create método .

public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
Herencia
XmlReaderSettings

Ejemplos

En el ejemplo siguiente se crea un XmlReader objeto que usa con XmlUrlResolver las credenciales necesarias.

// Create an XmlUrlResolver with the credentials necessary to access the Web server.
var resolver = new XmlUrlResolver();
var myCred = new NetworkCredential(UserName, SecurelyStoredPassword, Domain);
resolver.Credentials = myCred;

var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' 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)

Comentarios

Usted utiliza el método Create para obtener instancias XmlReader. Este método usa la XmlReaderSettings clase para especificar qué características implementar en el XmlReader objeto que crea.

Consulte las secciones Comentarios de las XmlReader páginas de referencia y Create para obtener información sobre qué configuración usar para comprobaciones de conformidad, validación y otros escenarios comunes. Consulte el XmlReaderSettings() constructor para obtener una lista de la configuración predeterminada.

Consideraciones de seguridad

Tenga en cuenta lo siguiente al usar la XmlReaderSettings clase .

  • Las ProcessInlineSchema marcas de validación y ProcessSchemaLocation de un XmlReaderSettings objeto no se establecen de forma 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 incluso si las banderas de validación ProcessInlineSchema y ProcessSchemaLocation están establecidas.

  • Los esquemas agregados durante la validación agregan nuevos tipos y pueden cambiar el resultado de validación del documento que se está validando. Como resultado, los esquemas externos solo deben resolverse desde orígenes de confianza.

  • Los mensajes de error de validación pueden exponer información confidencial del modelo de contenido. Los mensajes de error y advertencia de la validación se controlan mediante el ValidationEventHandler delegado, o bien se exponen como si fueran XmlSchemaValidationException si no se proporciona ningún controlador de eventos al objeto XmlReaderSettings (las advertencias de la validación no provocan que se produzca una excepción XmlSchemaValidationException). Esta información del modelo de contenido no debe exponerse en escenarios que no son de confianza. Los mensajes de advertencia de validación se suprimen de forma predeterminada y se pueden notificar estableciendo la ReportValidationWarnings marca .

  • La propiedad SourceUri de XmlSchemaValidationException devuelve la ruta de acceso del identificador URI al archivo de esquema que provocó la excepción. La propiedad SourceUri no se debe exponer en escenarios que no sean de confianza.

  • Se recomienda deshabilitar la bandera ProcessIdentityConstraints (habilitada de forma predeterminada) al validar grandes documentos XML no confiables en escenarios de alta disponibilidad según un esquema con restricciones de identidad en una parte considerable del documento.

  • XmlReaderSettings los objetos pueden 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.

  • El procesamiento de DTD está deshabilitado de forma predeterminada. Si habilita el procesamiento de DTD, debe tener en cuenta la inclusión de DTD de orígenes que no son de confianza y posibles ataques de denegación de servicio. Use ThrowingResolver para restringir los recursos a los que XmlReader puede acceder.

  • No acepte componentes auxiliares, como NameTable, XmlNamespaceManagery XmlResolver objetos, de un origen que no sea de confianza.

  • El uso de memoria de una aplicación que usa XmlReader puede tener una correlación con el tamaño del documento XML analizado. Una forma de ataque por denegación de servicio es cuando se envían documentos XML excesivamente grandes para su análisis. Puede limitar el tamaño del documento que se puede analizar estableciendo la MaxCharactersInDocument propiedad y limitando el número de caracteres resultantes de la expansión de entidades estableciendo la MaxCharactersFromEntities propiedad .

Constructores

Nombre Description
XmlReaderSettings()

Inicializa una nueva instancia de la clase XmlReaderSettings.

XmlReaderSettings(XmlResolver)
Obsoletos.

Inicializa una nueva instancia de la clase XmlReaderSettings.

Propiedades

Nombre Description
Async

Obtiene o establece si se pueden usar métodos asincrónicos XmlReader en una instancia determinada XmlReader .

CheckCharacters

Obtiene o establece un valor que indica si se va a realizar la comprobación de caracteres.

CloseInput

Obtiene o establece un valor que indica si la secuencia subyacente o TextReader debe cerrarse cuando se cierra el lector.

ConformanceLevel

Obtiene o establece el nivel de conformidad con el que cumplirá.XmlReader

DtdProcessing

Obtiene o establece un valor que determina el procesamiento de DTD.

IgnoreComments

Obtiene o establece un valor que indica si se omitirán los comentarios.

IgnoreProcessingInstructions

Obtiene o establece un valor que indica si se omiten las instrucciones de procesamiento.

IgnoreWhitespace

Obtiene o establece un valor que indica si se omitirán espacios en blanco insignificantes.

LineNumberOffset

Obtiene o establece el desplazamiento de número de línea del XmlReader objeto.

LinePositionOffset

Obtiene o establece el desplazamiento de posición de línea del XmlReader objeto .

MaxCharactersFromEntities

Obtiene o establece un valor que indica el número máximo permitido de caracteres de un documento que resulta de la expansión de entidades.

MaxCharactersInDocument

Obtiene o establece un valor que indica el número máximo permitido de caracteres en un documento XML. Un valor cero (0) significa que no hay límites en el tamaño del documento XML. Un valor distinto de cero especifica el tamaño máximo, en caracteres.

NameTable

Obtiene o establece el XmlNameTable utilizado para comparaciones de cadenas atomizadas.

ProhibitDtd
Obsoletos.
Obsoletos.

Obtiene o establece un valor que indica si se va a prohibir el procesamiento de la definición de tipo de documento (DTD). Esta propiedad está obsoleta. Utilice DtdProcessing en su lugar.

Schemas

Obtiene o establece el objeto que se va a usar al realizar la XmlSchemaSet validación del esquema.

ValidationFlags

Obtiene o establece un valor que indica la configuración de validación del esquema. Esta configuración se aplica a XmlReader objetos que validan esquemas (ValidationType propiedad establecida en ValidationType.Schema).

ValidationType

Obtiene o establece un valor que indica si realizará la validación o la XmlReader asignación de tipos al leer.

XmlResolver

Establece el XmlResolver utilizado para tener acceso a documentos externos.

Métodos

Nombre Description
Clone()

Crea una copia de la XmlReaderSettings instancia.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
Reset()

Restablece los miembros de la clase de configuración a sus valores predeterminados.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Nombre Description
ValidationEventHandler

Se produce cuando el lector encuentra errores de validación.

Se aplica a

Consulte también