Freigeben über


XmlValidatingReader.ReadString-Methode

Liest den Inhalt eines Element- oder Textknotens als Zeichenfolge.

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Overrides Function ReadString As String
'Usage
Dim instance As XmlValidatingReader
Dim returnValue As String

returnValue = instance.ReadString
public override string ReadString ()
public:
virtual String^ ReadString () override
public String ReadString ()
public override function ReadString () : String

Rückgabewert

Der Inhalt des Elementknotens oder Textknotens. Dies kann eine leere Zeichenfolge sein, wenn der Reader auf einem anderen Knotentyp als einem Element- oder Textknoten positioniert ist oder wenn im aktuellen Kontext kein weiterer Textinhalt zurückgegeben werden kann.

Hinweis

Der Textknoten kann entweder ein Elementknoten oder ein Attributtextknoten sein.

Hinweise

Hinweis

Die XmlValidatingReader-Klasse ist in Microsoft .NET Framework, Version 2.0 veraltet. Sie können eine Instanz eines validierenden XmlReader mithilfe der XmlReaderSettings-Klasse und der Create-Methode erstellen. Weitere Informationen finden Sie unter Validieren von XML-Daten mit "XmlReader".

Wenn ReadString auf einem Element positioniert ist, werden der gesamte Text, signifikanter Leerraum, Leerraum und alle CDATA-Abschnittsknotentypen miteinander verkettet, und die verketteten Daten werden als Elementinhalt zurückgegeben. Der Reader wird beendet, wenn alles Markup, einschließlich der Kommentare und Verarbeitungsanweisungen, gefunden wurde. Dies könnte in einem Modell mit gemischtem Inhalt vorkommen oder wenn das Endtag eines Elements gelesen wird.

Wenn ReadString auf einem Textknoten positioniert ist, wird die gleiche Verkettung vom Textknoten bis zum Endtag des Elements durchgeführt. Wenn der Reader auf einem Attributtextknoten positioniert ist, hat ReadString dieselben Funktionen wie bei einem Reader, der auf dem Starttag des Elements positioniert ist. Alle verketteten Elementtextknoten werden zurückgegeben.

Die EntityHandling-Eigenschaft bestimmt die Funktionsweise von ReadString wie folgt:

Wert

Beschreibung

ExpandEntities

Gibt erweiterte Zeichenentitäten und allgemeine Entitäten zurück. Dies ist die Standardeinstellung.

ExpandCharEntities

Gibt den Textinhalt bis zu einem allgemeinen Entitätsverweis zurück, ohne diesen einzubeziehen. Daher führt eine allgemeine Entität dazu, dass ReadString angehalten wird. Sie müssen Read aufrufen, um den Entitätsverweis zu überspringen.

Beispiel

Im folgenden Beispiel wird der Textinhalt der einzelnen Elemente angezeigt.

Imports System
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 'Main 
End Class 'Sample
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
#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();
   }

}
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[] args)
    {
        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.get_IsEmptyElement()) {
                        Console.WriteLine("<{0}/>", reader.get_Name());
                    }
                    else {
                        Console.Write("<{0}> ", reader.get_Name());
                        reader.Read(); //Read the start tag.
                        if (reader.IsStartElement()) {
                         //Handle nested elements.
                            Console.Write("\r\n<{0}>", reader.get_Name());
                        }
                        Console.WriteLine(reader.ReadString()); 
                        //Read the text content of the element.
                    }
                }
            }
        }
        finally {
            if (reader != null) {
                reader.Close();
            }
      }
    } //main
} // End class Sample

Im Beispiel wird die Datei elems.xml als Eingabe verwendet.

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

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

XmlValidatingReader-Klasse
XmlValidatingReader-Member
System.Xml-Namespace

Weitere Ressourcen

Lesen von XML mit dem "XmlReader"