XmlValidatingReader.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

Öğenin veya metin düğümünün içeriği. 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.

Ö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()
{
   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

Örnekte giriş olarak dosyası elems.xmlkullanılır.

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

Açıklamalar

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

Not

sınıf XmlValidatingReader .NET Framework 2.0'da kullanımdan kaldırıldı. sınıfını ve Create yöntemini kullanarak XmlReaderSettings bir doğrulama XmlReader örneği oluşturabilirsiniz. Daha fazla bilgi için başvuru sayfasının 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. Açıklamalar ve işleme yönergeleri de dahil olmak üzere herhangi bir işaretlemeyle karşılaşıldığında okuyucu durur. Bu, karma içerik modelinde veya öğe bitiş etiketi okunduğunda oluşabilir.

Bir metin düğümünde konumlandırıldıysa, ReadString aynı birleştirmeyi metin düğümünden öğe bitiş etiketine 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.

özelliği, EntityHandling nasıl ReadString çalıştığını aşağıdaki gibi belirler:

Değer Açıklama
ExpandEntities Genişletilmiş karakteri ve genel varlıkları döndürür. Bu varsayılan seçenektir.
ExpandCharEntities Genel varlık başvurusu dahil olmak üzere en fazla metin içeriğini döndürür. Bu, genel bir varlığın ReadString'in durmasına neden olduğu anlamına gelir. Varlık başvurusunun üzerine gitmek için çağrısında Read bulunmalısınız.

Şunlara uygulanır

Ayrıca bkz.