Compartir a través de


XmlTextReader.ReadString Método

Definición

Lee el contenido de un nodo de texto o un elemento como cadena.

public:
 override System::String ^ ReadString();
public override string ReadString ();
override this.ReadString : unit -> string
Public Overrides Function ReadString () As String

Devoluciones

Contenido del nodo de elemento o de texto. Puede ser una cadena vacía si el lector está situado en un nodo que no sea de elemento ni de texto, o si no hay más contenido de texto para devolver en el contexto actual.

Note: El nodo de texto puede ser un nodo de texto de elemento o de atributo.

Excepciones

Se ha producido un error al analizar el fragmento de XML.

Se ha intentado realizar una operación no válida.

Ejemplos

En el ejemplo siguiente se muestra el contenido de texto de cada elemento.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlTextReader^ reader = nullptr;
   try
   {
      
      //Load the reader with the XML file.
      reader = gcnew XmlTextReader( "elems.xml" );
      
      //Parse the XML and display the text content of each of the elements.
      while ( reader->Read() )
      {
         if ( reader->IsStartElement() )
         {
            if ( reader->IsEmptyElement )
                        Console::WriteLine( "<{0}/>", reader->Name );
            else
            {
               Console::Write( "<{0}> ", reader->Name );
               reader->Read(); //Read the start tag.
               if ( reader->IsStartElement() )
                              
               //Handle nested elements.
               Console::Write( "\r\n<{0}>", reader->Name );
               Console::WriteLine( reader->ReadString() ); //Read the text content of the element.
            }
         }
      }
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

}
using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    XmlTextReader reader = null;

    try
    {
       //Load the reader with the XML file.
       reader = new XmlTextReader("elems.xml");

       //Parse the XML and display the text content of each of the elements.
       while (reader.Read()){
         if (reader.IsStartElement()){
           if (reader.IsEmptyElement)
                    {
                        Console.WriteLine("<{0}/>", reader.Name);
                    }
                    else
                    {
               Console.Write("<{0}> ", reader.Name);
               reader.Read(); //Read the start tag.
               if (reader.IsStartElement())  //Handle nested elements.
                 Console.Write("\r\n<{0}>", reader.Name);
               Console.WriteLine(reader.ReadString());  //Read the text content of the element.
           }
         }
       }
     }

     finally
     {
        if (reader != null)
          reader.Close();
      }
  }
} // End class
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlTextReader = Nothing
        
        Try
            'Load the reader with the XML file.
            reader = New XmlTextReader("elems.xml")
            
            'Parse the XML and display the text content of each of the elements.
            While reader.Read()
                If reader.IsStartElement() Then
                    If reader.IsEmptyElement Then
                        Console.WriteLine("<{0}/>", reader.Name)
                    Else
                        Console.Write("<{0}>" + " ", reader.Name)
                        reader.Read() 'Read the start tag.
                        If (reader.IsStartElement())  'Handle nested elements.
                          Console.WriteLine()
                          Console.Write("<{0}>", reader.Name)
                        End If
                        Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
                    End If
                End If
            End While
        
        
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

En el ejemplo se usa el archivo , elems.xmlcomo entrada.


<book>
  <title>Pride And Prejudice</title>
  <price>19.95</price>
  <misc/>
</book>

Comentarios

Nota:

A partir de .NET Framework 2.0, se recomienda crear XmlReader instancias mediante el XmlReader.Create método para aprovechar las nuevas funcionalidades.

Si se coloca en un elemento, ReadString concatena todos los tipos de texto, espacios en blanco significativos, espacios en blanco y CData nodos de sección juntos y devuelve los datos concatenados como el contenido del elemento. Se detiene cuando se encuentra cualquier marcado, incluidos los comentarios y las instrucciones de procesamiento. Esto se podría producir en un modelo de contenido mixto o cuando se lee una etiqueta de fin de elemento.

Si se coloca en un nodo de texto, ReadString realiza la misma concatenación del nodo de texto a la etiqueta final del elemento. 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.

Se aplica a

Consulte también