Partager via


XmlTextReader.ReadString Méthode

Définition

Lit le contenu d'un nœud d'élément ou de texte sous forme de chaîne.

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

Retours

String

Contenu du nœud d'élément ou de texte. Il peut s'agir d'une chaîne vide si le lecteur est placé sur autre chose qu'un nœud d'élément ou de texte, ou s'il n'existe plus de texte à retourner dans le contexte actuel.

Note: Le nœud de texte peut être un élément ou un nœud de texte d'attribut.

Exceptions

Une erreur s’est produite lors de l’analyse du XML.

Une opération incorrecte a été tentée.

Exemples

L’exemple suivant affiche le contenu texte de chaque élément.

#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

L’exemple utilise le fichier, elems.xmlcomme entrée.


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

Remarques

Notes

À compter du .NET Framework 2.0, nous vous recommandons de créer XmlReader des instances à l’aide de la XmlReader.Create méthode pour tirer parti de nouvelles fonctionnalités.

S’il est positionné sur un élément, ReadString concaténe tout le texte, l’espace blanc significatif, l’espace blanc et les types de nœuds de section ensemble et CData retourne les données concaténées en tant que contenu de l’élément. Il s’arrête quand un balisage est rencontré, y compris les commentaires et les instructions de traitement. Cela peut se produire dans un modèle de contenu mixte ou lorsqu'une balise de fin d'élément est lue.

Si elle est positionnée sur un nœud de texte, ReadString effectue la même concaténation du nœud de texte vers la balise de fin de l’élément. Si le lecteur est positionné sur un nœud de texte d’attribut, la méthode ReadString se comporte de la même fonction que si le lecteur était positionné sur l’étiquette de début d’élément. Il retourne tous les nœuds de texte d'élément concaténés.

S’applique à

Voir aussi