Compartir a través de


Lectura de contenido

Actualización: November 2007

La clase XmlReader incluye miembros que se pueden utilizar para leer contenido.

Nota:

Los miembros que se describen en este tema devuelven contenido como valores de cadena. Si desea leer contenido con establecimiento de tipos, vea Lectura de datos de tipo.

Propiedad Value

La propiedad Value se puede utilizar para obtener el contenido de texto del nodo actual. El valor devuelto depende del tipo de nodo del nodo actual. En la siguiente tabla se describe el contenido que se devuelve para cada uno de los posibles tipos de nodos.

Tipo de nodo

Value

Attribute

El valor del atributo.

CDATA

El contenido de la sección CDATA.

Comment

El contenido del comentario.

DocumentType

El subconjunto interno.

ProcessingInstruction

El contenido completo, sin incluir el destino.

SignificantWhitespace

El espacio en blanco entre cualquier marcado en un modelo de contenido mixto.

Text

El contenido del nodo de texto.

Whitespace

El espacio en blanco entre marcado.

XmlDeclaration

El contenido de la declaración.

Los demás tipos de nodos

Una cadena vacía.

Método ReadString

El método ReadString devuelve el contenido de un nodo de texto o elementos como una cadena.

Si XmlReader se sitúa en un elemento, ReadString concatena todos los nodos de texto, espacios en blanco significativos, espacios en blanco y secciones CDATA y devuelve los datos concatenados como el contenido del elemento. El sistema de lectura se detiene cuando se encuentra cualquier marcado. Esto se podría producir en un modelo de contenido mixto o cuando se lee una etiqueta de fin de elemento.

Si XmlReader está situado en un nodo de texto, ReadString realiza la misma concatenación de nodos de texto, espacios en blanco significativos, espacios en blanco y secciones CDATA. El sistema de lectura se detiene en el primer nodo que no es uno de los tipos que se han enumerado anteriormente. Si el sistema de lectura está situado en un nodo de texto de atributos, ReadString tiene la misma funcionalidad que si el sistema de lectura estuviera situado en la etiqueta de inicio de elemento. Devuelve todos los nodos de texto de elementos concatenados.

Nota:

El método ReadString se detiene en los comentarios y las instrucciones de procesamiento. No las omite.

Método ReadInnerXml

El método ReadInnerXml devuelve todo el contenido del nodo actual, incluyendo el marcado. No se devuelve el nodo actual (etiqueta de inicio) ni el correspondiente nodo final (etiqueta de fin). Por ejemplo, si tuviera la cadena XML <node>this<child id="123"/></node>, ReadInnerXml devolvería this<child id="123"/>.

En la siguiente tabla se describe cómo se controlan los nodos de atributos y elementos.

Tipo de nodo

Posición

inicial

Fragmento XML

Valor

devuelto

Posición

posterior

Element

En la etiqueta de inicio item1.

<item1>text1</item1><item2>text2</item2>

texto1

En la etiqueta de inicio item2.

Atributo

En el nodo de atributos attr1.

<item attr1="val1" attr2="val2">text</item>

val1

Permanece en el nodo de atributos attr1.

Si el sistema de lectura se encuentra situado en un nodo hoja, una llamada a ReadInnerXml es equivalente a una llamada a Read.

Método ReadOuterXml

El método ReadOuterXml devuelve todo el contenido XML, incluyendo el marcado, del nodo actual y todos sus nodos secundarios. Su comportamiento es similar al de ReadInnerXml, excepto en que también devuelve las etiquetas de inicio y fin.

Al utilizar los valores de la tabla anterior, si el sistema de lectura está situado en la etiqueta de inicio item1, ReadOuterXml devuelve <item1>text1</item1>. Si el sistema de lectura está situado en el nodo de atributos attr1, ReadOuterXml devuelve attr1="val1".

Vea también

Conceptos

Lectura de elementos

Lectura de atributos

Leer fragmentos de XML con XmlReader