Lectura de contenido
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 |
Valor |
---|---|
Attribute |
Valor del atributo. |
CDATA |
Contenido de la sección CDATA. |
Comment |
Contenido del comentario. |
DocumentType |
Subconjunto interno. |
ProcessingInstruction |
Todo el contenido, salvo el destino. |
SignificantWhitespace |
El espacio en blanco entre cualquier marcado en un modelo de contenido mixto. |
Text |
El contenido del nodo de texto. |
Whitespace |
Espacio en blanco entre marcas. |
XmlDeclaration |
Contenido de la declaración. |
Todos 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. |
Attribute |
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".