Versión imprimible       Enviar     
Evaluar y enviar comentarios

  Encender vista de ancho de banda bajo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
XmlTextReader (Clase)
Representa un lector que proporciona acceso rápido a datos XML, sin almacenamiento en caché y con desplazamiento sólo hacia delante.

Espacio de nombres: System.Xml
Ensamblado: System.Xml (en system.xml.dll)

Visual Basic (Declaración)
Public Class XmlTextReader
    Inherits XmlReader
    Implements IXmlLineInfo, IXmlNamespaceResolver
Visual Basic (Uso)
Dim instance As XmlTextReader
C#
public class XmlTextReader : XmlReader, IXmlLineInfo, IXmlNamespaceResolver
C++
public ref class XmlTextReader : public XmlReader, IXmlLineInfo, IXmlNamespaceResolver
J#
public class XmlTextReader extends XmlReader implements IXmlLineInfo, IXmlNamespaceResolver
JScript
public class XmlTextReader extends XmlReader implements IXmlLineInfo, IXmlNamespaceResolver
XAML
No aplicable.
NotaNota:

En la versión Microsoft .NET Framework versión 2.0, se recomienda crear instancias de XmlReader utilizando el método System.Xml.XmlReader.Create. De esta forma, puede aprovechar al máximo las nuevas funciones presentadas en esta versión. Para obtener más información, vea Creación de sistemas de lectura XML.

XmlTextReader proporciona acceso de sólo lectura y con desplazamiento sólo hacia delante a una secuencia de datos XML. El nodo actual hace referencia al nodo en el que está situado el lector. Para avanzar el lector, utilice cualquiera de los métodos de lectura y las propiedades reflejan el valor del nodo actual.

Esta clase implementa XmlReader y satisface las recomendaciones relativas a espacios de nombres en XML y Extensible Markup Language (XML) 1.0 del Consorcio W3C. XmlTextReader proporciona la siguiente funcionalidad:

  • Impone las reglas de formato XML correcto.

  • XmlTextReader no proporciona validación de datos.

  • Comprueba que los nodos DocumentType tienen el formato correcto. XmlTextReader comprueba si DTD tiene el formato correcto, pero no valida utilizando DTD.

  • Para los nodos en los que la propiedad NodeType es XmlNodeType.EntityReference, se devuelve un solo nodo EntityReference vacío (es decir, la propiedad Value es String.Empty).

NotaNota:

Las declaraciones reales de entidades en DTD se denominan nodos Entity. Al hacer referencia a estos nodos en los datos, se denominan nodos EntityReference.

  • No expande los atributos predeterminados.

Como XmlTextReader no realiza las comprobaciones adicionales necesarias para la validación de datos, proporciona un analizador rápido de formatos correctos.

Para realizar la validación de los datos, utilice un objeto XmlReader de validación. Para obtener más información, vea Validación de datos XML con XmlReader.

Para leer datos XML de un objeto XmlDocument, utilice XmlNodeReader.

XmlTextReader produce una excepción XmlException en los errores de análisis de XML. Tras producirse una excepción, el estado del lector es imprevisible. Por ejemplo, el tipo de nodo notificado puede ser distinto del tipo de nodo real del nodo actual. Utilice la propiedad ReadState para comprobar si un lector está en estado de error.

Para obtener más información sobre las clases XmlReader, vea Leer fragmentos de XML con XmlReader.

Consideraciones de seguridad

Debe tener en cuenta lo siguiente cuando utilice la clase XmlTextReader.

  • Las excepciones iniciadas por XmlTextReader pueden revelar información de ruta de acceso que quizás no desee traspasar a la aplicación. Las aplicaciones deben detectar las excepciones y procesarlas correctamente.

  • El procesamiento de DTD está habilitado de forma predeterminada. Deshabilite el procesamiento de DTD si le preocupan los problemas de Denegación de servicio o si está tratando con orígenes en los que no confía. Establezca la propiedad ProhibitDtd en true para deshabilitar el procesamiento de DTD.

    Si tiene el procesamiento de DTD habilitado, puede utilizar XmlSecureResolver para restringir los recursos a los que XmlTextReader puede tener acceso. También puede diseñar su aplicación para que el procesamiento XML se realice con restricciones de memoria y tiempo. Por ejemplo, puede configurar límites del tiempo de espera en su aplicación ASP.NET

  • Los datos XML pueden incluir referencias a recursos externos como un archivo DTD. De manera predeterminada, los recursos externos se resuelven utilizando un objeto XmlUrlResolver sin credenciales de usuario. Puede protegerse aún más si realiza una de las acciones siguientes:

    • Restrinja los recursos a los que puede tener acceso XmlTextReader estableciendo la propiedad XmlResolver en un objeto XmlSecureResolver.

    • No permita que XmlReader abra ningún recurso externo estableciendo la propiedad XmlResolver en referencia null (Nothing en Visual Basic).

  • Los datos XML pueden contener un gran número de atributos, declaraciones de espacios de nombres, elementos anidados, etc. que requieren mucho tiempo para su procesamiento. Para limitar el tamaño de la entrada que se envía a XmlTextReader, cree una implementación personalizada de IStream y proporciónele el XmlTextReader.

  • El método ReadValueChunk puede utilizarse para tratar secuencias grandes de datos. Este método lee un número reducido de caracteres cada vez en lugar de asignar una única cadena para todo el valor.

  • De forma predeterminada, las entidades generales no se expanden. Las entidades generales se expanden cuando llama al método ResolveEntity.

Notas para los herederos: Esta clase tiene una petición de herencia. Es necesaria la confianza total para derivar de XmlTextReader. Para obtener más información, vea Peticiones de herencia.

System.Object
   System.Xml.XmlReader
    System.Xml.XmlTextReader
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.

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.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0

XNA Framework

Compatible con: 1.0
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso  |  Marcas Registradas  |  Privacidad
Page view tracker