XmlNodeReader.ReadString Yöntem

Tanım

Bir öğenin veya metin düğümünün içeriğini dize olarak okur.

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

Döndürülenler

String

Öğesinin veya metin benzeri düğümün içeriği (Bu CDATA, Metin düğümleri vb. içerebilir). Okuyucu bir öğe veya metin düğümü dışında bir şeyin üzerine konumlandırıldıysa veya geçerli bağlamda döndürülecek başka metin içeriği yoksa, bu boş bir dize olabilir.

Note: Metin düğümü bir öğe veya öznitelik metin düğümü olabilir.

Örnekler

Aşağıdaki örnek, öğelerin her birinin metin içeriğini görüntüler.

#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();
   }

}
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
Option Strict
Option Explicit

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
End Class

Açıklamalar

Not

.NET Framework 2.0'da önerilen yöntem, sınıfını XmlReaderSettings ve Create yöntemini kullanarak örnekler oluşturmaktırXmlReader. Bu, .NET Framework sunulan tüm yeni özelliklerden tam olarak yararlanmanızı sağlar. Daha fazla bilgi için başvuru sayfasındaki Açıklamalar bölümüne XmlReader bakın.

Bir öğeye konumlandırıldıysa, tüm metinleri, ReadString önemli boşluk, boşluk ve CData bölüm düğümü türlerini birleştirir ve birleştirilmiş verileri öğe içeriği olarak döndürür. Herhangi bir işaretlemeyle karşılaşıldığında durdurulur. Bu, karma içerik modelinde veya öğe bitiş etiketi okunduğunda oluşabilir.

Metin benzeri bir düğümde konumlandırıldıysa, ReadString metin düğümünden öğe bitiş etiketine aynı birleştirmeyi gerçekleştirir. Okuyucu bir öznitelik metin düğümünde konumlandırıldıysa, ReadString okuyucu öğe başlangıç etiketinde konumlandırılmış gibi aynı işlevselliğe sahiptir. Tüm birleştirilmiş öğe metin düğümlerini döndürür.

Şunlara uygulanır