XmlTextReader.ReadString Metodo

Definizione

Legge il contenuto di un nodo elemento o testo come stringa.Reads the contents of an element or a text node as a string.

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.The contents of the element or text node. 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.This can be an empty string if the reader is positioned on something other than an element or text node, or if there is no more text content to return in the current context.

Note: il nodo di testo può essere anche rappresentato da un nodo elemento o da un nodo testo di un attributo.Note: The text node can be either an element or an attribute text node.

Eccezioni

Errore durante l'analisi del codice XML.An error occurred while parsing the XML.

È stata tentata l'esecuzione di un'operazione non valida.An invalid operation was attempted.

Esempio

Nell'esempio seguente viene visualizzato il contenuto di testo di ogni elemento.The following example displays the text content of each element.

#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.xmlcome input.The example uses the file, elems.xml, as input.


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

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Se posizionato su un elemento, ReadString concatena tutti i tipi di testo, gli spazi vuoti significativi, gli spazi vuoti e i CData tipi di nodo della sezione e restituisce i dati concatenati come contenuto dell'elemento.If positioned on an element, ReadString concatenates all text, significant white space, white space, and CData section node types together and returns the concatenated data as the element content. Si interrompe quando viene rilevato un markup, inclusi i commenti e le istruzioni di elaborazione.It stops when any markup is encountered, including comments and processing instructions. Questa situazione può verificarsi in un modello a contenuto misto oppure durante la lettura di un tag di fine elemento.This could occur in a mixed content model, or when an element end tag is read.

Se posizionato in corrispondenza di un nodo di testo, ReadString esegue la stessa concatenazione dal nodo di testo al tag di fine dell'elemento.If positioned on a text node, ReadString performs the same concatenation from the text node to the element end tag. 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,If the reader is positioned on an attribute text node, ReadString has the same functionality as if the reader were position on the element start tag. restituendo tutti i nodi di tipo text dell'elemento concatenati.It returns all the concatenated element text nodes.

Si applica a

Vedi anche