Compartir a través de


Configuración de propiedades en XmlReader

La clase XmlReader posee propiedades que se pueden modificar mientras se leen y otras que, si se cambian después de comenzar la lectura, no dejan que la nueva configuración afecte al proceso.El valor de estas propiedades se tiene que establecer correctamente antes de iniciar la lectura, si su valor predeterminado no es el apropiado.Sin embargo, algunas propiedades se pueden modificar una vez comenzada la lectura.Con las propiedades que no se pueden establecer después de llamar a Read, los sistemas de lectura inician una excepción.

En la tabla siguiente se muestran las propiedades que se pueden modificar una vez comenzada la lectura.

Clase

Propiedad

Puede ser modificada

XmlTextReader

Namespaces

no

XmlTextReader

WhitespaceHandling

XmlTextReader

Normalization

XmlTextReader

XmlResolver

XmlValidatingReader

Namespaces

no

XmlValidatingReader

EntityHandling

XmlValidatingReader

XmlResolver

XmlValidatingReader

ValidationType

no

XmlValidatingReader propaga la propiedad XmlResolver a la clase XmlTextReader.La clase XmlNodeReader no tiene propiedades que se puedan establecer.

Configuración de Normalization y XmlResolver

Nota

En .NET Framework 2.0, la práctica recomendada es crear instancias XmlReader mediante la clase XmlReaderSettings y el método Create.Esto le permite sacar el máximo provecho de todas las nuevas características introducidas en .NET Framework 2.0.Los objetos XmlReader creados por el método Createrealizan la normalización, agregan atributos predeterminados y expanden entidades de forma predeterminada.Para obtener más información, vea Creación de sistemas de lectura XML.

En la tabla siguiente se describe la forma en que las propiedades XmlResolver y Normalization de los diversos sistemas de lectura se pueden establecer para cumplir los requisitos de cada escenario.

La propiedad Normalization, cuando se establece en true, normaliza los caracteres de fin de línea en nodos de texto y de espacio en blanco y, además, normaliza los valores de los atributos según su tipo.

La propiedad XmlResolver se utiliza para resolver recursos externos denominados por un identificador de recursos uniforme (URI), como una definición de tipo de documento (DTD) o localizar un esquema.Para obtener más información sobre cómo utilizar la propiedad XmlResolver con los diferentes sistemas de lectura, vea Resolución de recursos con XmlResolver.

Situación

XmlResolver

Propiedad Normalization

No necesita ninguna DTD o compatibilidad de esquema, o cumplimiento pleno de la normalización XML y atributos predeterminados.

Establecer como una referencia nula.

Establezca false y utilice la clase XmlTextReader.

Se requiere que el documento tenga un formato correcto, incluidas las entidades externas y los DocTypes con la DTD suministrada.

Establecer como una referencia no nula.Todas las entidades externas se deben poder resolver.

Establecer true en XmlTextReader antes de pasar a XmlValidatingReader.

Se requiere que el documento tenga un formato correcto y que el código XML sea válido con respecto a la DTD.

Establecer como una referencia no nula.Todas las entidades externas se deben poder resolver.

Establecer true en XmlTextReader antes de pasar a XmlValidatingReader.

Se requiere que el documento tenga un formato correcto y se valide con respecto a un esquema.

Establecer como una referencia no nula.Todas las entidades externas se deben poder resolver.

Establecer true en XmlTextReader antes de pasar a XmlValidatingReader.

Se requiere que el documento tenga un formato correcto cuando se secuencian datos XML a partir de un árbol XmlNode.

No está disponible.

No está disponible.

Vea también

Conceptos

Leer fragmentos de XML con XmlReader

Otros recursos

Uso de la clase XmlReader