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
Use el Create método para obtener XmlReader instancias. 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 la configuración que se va a usar para las comprobaciones de conformidad, la validación y otros escenarios comunes. Consulte el XmlReaderSettings() constructor para obtener una lista de la configuración predeterminada.
Consideraciones sobre la seguridad
Tenga en cuenta lo siguiente al usar la XmlReaderSettings clase .
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.
Los mensajes de error de validación pueden exponer información confidencial del modelo de contenido. Los mensajes de error y advertencia de validación se controlan mediante el ValidationEventHandler delegado o se exponen como si XmlSchemaValidationException no se proporciona ningún controlador de eventos al XmlReaderSettings objeto (las advertencias de validación no provocan que se produzca una XmlSchemaValidationException excepción ). 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 SourceUri propiedad de devuelve XmlSchemaValidationException la ruta de acceso del URI al archivo de esquema que provocó la excepción. La SourceUri propiedad no debe exponerse en escenarios que no son de confianza.
Se recomienda deshabilitar la ProcessIdentityConstraints marca (habilitada de forma predeterminada) al validar documentos XML grandes que no son de confianza en escenarios de alta disponibilidad en un esquema con restricciones de identidad en una gran parte del documento.
Los objetos XmlReaderSettings pueden contener información confidencial como, por ejemplo, credenciales de usuario. Debería tener cuidado al almacenar en caché objetos XmlReaderSettings o al pasar el objeto XmlReaderSettings de un componente a otro.
El procesamiento de DTD está deshabilitado de manera 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. XmlSecureResolver Use para restringir los recursos a los que XmlReader puede acceder.
No admita componentes como, por ejemplo, objetos NameTable, XmlNamespaceManager y XmlResolver, de un origen que no sea de confianza.
El uso de la memoria que hace una aplicación que utiliza el XmlReader puede tener una correlación con el tamaño del documento XML analizado. Una forma de provocar un ataque de denegación de servicio es enviando documentos XML excesivamente grandes para ser analizados. 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
| XmlReaderSettings() |
Inicializa una nueva instancia de la clase XmlReaderSettings. |
| XmlReaderSettings(XmlResolver) |
Obsoleto.
Inicializa una nueva instancia de la clase XmlReaderSettings. |
Propiedades
| Async |
Obtiene o establece si los métodos asincrónicos de XmlReader se pueden usar en una instancia determinada de 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 se debe cerrar la secuencia o el objeto TextReader subyacente al cerrar el lector. |
| ConformanceLevel |
Obtiene o establece el nivel de conformidad que cumplirá XmlReader. |
| DtdProcessing |
Obtiene o establece un valor que determine el procesamiento de DTD. |
| IgnoreComments |
Obtiene o establece un valor que indica si se van a omitir los comentarios. |
| IgnoreProcessingInstructions |
Obtiene o establece un valor que indica si se van a omitir las instrucciones de procesamiento. |
| IgnoreWhitespace |
Obtiene o establece un valor que indica si se va a omitir el espacio en blanco no significativo. |
| LineNumberOffset |
Obtiene o establece el desplazamiento del número de línea del objeto XmlReader. |
| LinePositionOffset |
Obtiene o establece el desplazamiento de la posición de línea del objeto XmlReader. |
| MaxCharactersFromEntities |
Obtiene o establece un valor que indica el número máximo de caracteres permitido en un documento que resulta de expandir las entidades. |
| MaxCharactersInDocument |
Obtiene o establece un valor que indica el número máximo de caracteres permitido en un documento XML. Un valor cero (0) significa que no existe ningún límite 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 objeto XmlNameTable utilizado para las comparaciones de cadenas subdivididas. |
| ProhibitDtd |
Obsoleto.
Obsoleto.
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 ha quedado obsoleta. Utilice DtdProcessing en su lugar. |
| Schemas |
Obtiene o establece el XmlSchemaSet que se va a utilizar al realizar la validación del esquema. |
| ValidationFlags |
Obtiene o establece un valor que indica la configuración de validación de esquemas. Esta configuración se aplica a los objetos XmlReader que validan esquemas (con la propiedad ValidationType establecida en |
| ValidationType |
Obtiene o establece un valor que indica si el objeto XmlReader realizará la validación o la asignación de tipos al leer. |
| XmlResolver |
Establece el objeto XmlResolver utilizado para obtener acceso a documentos externos. |
Métodos
| Clone() |
Crea una copia de la instancia de la clase XmlReaderSettings. |
| Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
| GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Object actual. (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
| ValidationEventHandler |
Se produce cuando el lector encuentra errores de validación. |