Freigeben über


XmlNodeReader.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 XmlNodeReader
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 eines Knotens mit Text. Hierzu können CDATA-Knoten, Textknoten usw. gehören. 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. Note: Der Textknoten kann entweder ein Elementknoten oder ein Attributtextknoten sein.

Hinweise

Hinweis

Die empfohlene Vorgehensweise für Microsoft .NET Framework, Version 2.0 besteht darin, XmlReader-Instanzen mithilfe der XmlReaderSettings-Klasse und der Create-Methode zu erstellen. Dies erlaubt es, alle Vorteile der neu in .NET Framework enthaltenen Features zu nutzen. Weitere Informationen finden Sie unter Erstellen von XML-Readern.

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. Dieser Vorgang wird beendet, sobald auf Markup getroffen wird. Dies könnte in einem Modell mit gemischtem Inhalt vorkommen oder wenn das Endtag eines Elements gelesen wird.

Wenn ReadString auf einem Knoten mit Text 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.

Beispiel

Im folgenden Beispiel wird der Textinhalt der einzelnen Elemente angezeigt.

Option Strict
Option Explicit

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlNodeReader = Nothing
        
        Try
            'Create and load the XML document.
            Dim doc As New XmlDocument()
            doc.LoadXml("<book>" & _
                        "<title>Pride And Prejudice</title>" & _
                        "<price>19.95</price>" & _
                        "<misc/>" & _
                        "</book>")
            
            'Load the XmlNodeReader 
            reader = New XmlNodeReader(doc)
            
            '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()
  {
    XmlNodeReader reader = null;

    try
    {
       //Create and load the XML document.
       XmlDocument doc = new XmlDocument();
       doc.LoadXml("<book>" +
                   "<title>Pride And Prejudice</title>" +
                   "<price>19.95</price>" +
                   "<misc/>" +
                   "</book>"); 

       //Load the XmlNodeReader 
       reader = new XmlNodeReader(doc);
  
       //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()
{
   XmlNodeReader^ reader = nullptr;
   try
   {
      
      //Create and load the XML document.
      XmlDocument^ doc = gcnew XmlDocument;
      doc->LoadXml( "<book>"
      "<title>Pride And Prejudice</title>"
      "<price>19.95</price>"
      "<misc/>"
      "</book>" );
      
      //Load the XmlNodeReader 
      reader = gcnew XmlNodeReader( doc );
      
      //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)
    {
        XmlNodeReader reader = null;
        try {
            //Create and load the XML document.
            XmlDocument doc = new XmlDocument();
            doc.LoadXml("<book>"
                + "<title>Pride And Prejudice</title>"
                + "<price>19.95</price>"
                + "<misc/>" 
                + "</book>");

            //Load the XmlNodeReader 
            reader = new XmlNodeReader(doc);

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

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, 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

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlNodeReader-Klasse
XmlNodeReader-Member
System.Xml-Namespace

Weitere Ressourcen

Lesen von XML mit dem "XmlReader"