Condividi tramite


XmlTextReader.ReadString Metodo

Definizione

Legge il contenuto di un nodo elemento o testo come stringa.

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

Restituisce

Contenuto del nodo elemento o testo. Può essere una stringa vuota se il lettore non è posizionato su un nodo elemento o testo oppure se non ci sono più contenuti di testo da restituire nel contesto corrente.

Note: il nodo di testo può essere anche rappresentato da un nodo elemento o da un nodo testo di un attributo.

Eccezioni

Errore durante l'analisi del codice XML.

È stata tentata l'esecuzione di un'operazione non valida.

Esempio

Nell'esempio seguente viene visualizzato il contenuto di testo di ogni 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

Nell'esempio viene usato il file , elems.xml, come input.


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

Commenti

Nota

A partire da .NET Framework 2.0, è consigliabile creare XmlReader istanze usando il XmlReader.Create metodo per sfruttare le nuove funzionalità.

Se posizionato su un elemento, ReadString concatena tutto il testo, spazi vuoti significativi, spazi vuoti e nodi di sezione insieme e CData restituisce i dati concatenati come contenuto dell'elemento. Si arresta quando viene rilevato un markup, inclusi i commenti e le istruzioni di elaborazione. Questa situazione può verificarsi in un modello a contenuto misto oppure durante la lettura di un tag di fine elemento.

Se posizionato in un nodo di testo, ReadString esegue la stessa concatenazione dal nodo di testo al tag finale dell'elemento. Se il lettore è posizionato in corrispondenza di un nodo di tipo text di un attributo, il metodo ReadString funzionerà come quando il lettore è posizionato in corrispondenza del tag di inizio dell'elemento, restituendo tutti i nodi di tipo text dell'elemento concatenati.

Si applica a

Vedi anche