XmlValidatingReader.ReadString Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.
Exemples
L’exemple suivant affiche le contenu texte de chacun des éléments.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ txtreader = nullptr;
XmlValidatingReader^ reader = nullptr;
try
{
//Implement the readers.
txtreader = gcnew XmlTextReader( "elems.xml" );
reader = gcnew XmlValidatingReader( txtreader );
//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 txtreader = null;
XmlValidatingReader reader = null;
try
{
//Implement the readers.
txtreader = new XmlTextReader("elems.xml");
reader = new XmlValidatingReader(txtreader);
//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
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim txtreader As XmlTextReader = Nothing
Dim reader As XmlValidatingReader = Nothing
Try
'Implement the readers.
txtreader = New XmlTextReader("elems.xml")
reader = New XmlValidatingReader(txtreader)
'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.xml
comme entrée.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Remarques
Le nœud de texte peut être un nœud de texte d'élément ou d'attribut.
Notes
La XmlValidatingReader classe est obsolète dans .NET Framework 2.0. Vous pouvez créer une instance de validation à l’aide de XmlReader la XmlReaderSettings classe et de la Create méthode. Pour plus d'informations, consultez la section Notes de la page de référence XmlReader.
Si elle est positionnée 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 CDATA ensemble et retourne les données concaténées en tant que contenu de l’élément. Le lecteur 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.
La EntityHandling propriété détermine le ReadString
fonctionnement suivant :
Valeur | Description |
---|---|
ExpandEntities | Retourne un caractère développé et des entités générales. Il s’agit de la valeur par défaut. |
ExpandCharEntities | Retourne le contenu texte jusqu’à ce qu’il n’inclue pas de référence d’entité générale. Cela signifie qu’une entité générale entraîne l’arrêt de ReadString. Vous devez appeler Read pour passer à pas sur la référence d’entité. |