XmlReaderSettings Clase
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í.
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 |
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. |