XmlValidatingReader.ReadString Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Odczytuje zawartość elementu lub węzła tekstowego jako ciąg.
public:
override System::String ^ ReadString();
public override string ReadString ();
override this.ReadString : unit -> string
Public Overrides Function ReadString () As String
Zwraca
Zawartość elementu lub węzła tekstowego. Może to być pusty ciąg, jeśli czytnik jest umieszczony na czymś innym niż element lub węzeł tekstowy lub jeśli nie ma więcej zawartości tekstowej, która ma zostać zwrócona w bieżącym kontekście.
Przykłady
W poniższym przykładzie jest wyświetlana zawartość tekstowa każdego z elementów.
#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
W przykładzie użyto pliku , elems.xml
jako danych wejściowych.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Uwagi
Węzeł tekstowy może być elementem lub węzłem tekstowym atrybutu.
Uwaga
Klasa XmlValidatingReader jest przestarzała w .NET Framework 2.0. Wystąpienie weryfikacji XmlReader można utworzyć przy użyciu XmlReaderSettings klasy i Create metody . Aby uzyskać więcej informacji, zobacz sekcję Uwagi na stronie referencyjnej XmlReader .
Jeśli pozycja jest umieszczona na elemecie, ReadString
łączy cały tekst, znaczące odstępy, białe znaki i typy węzłów sekcji CDATA i zwraca połączone dane jako zawartość elementu. Czytelnik zatrzymuje się po napotkaniu jakichkolwiek znaczników, w tym komentarzy i instrukcji przetwarzania. Może się to zdarzyć w modelu zawartości mieszanej lub po odczytaniu tagu końcowego elementu.
Jeśli pozycja jest umieszczona w węźle tekstowym, ReadString
wykonuje to samo łączenie z węzła tekstowego do tagu końcowego elementu. Jeśli czytnik jest umieszczony w węźle tekstowym atrybutu, ReadString
ma taką samą funkcjonalność, jak gdyby czytnik znajdował się na tagu start elementu. Zwraca wszystkie łączone węzły tekstowe elementu.
Właściwość EntityHandling określa, jak ReadString
działa w następujący sposób:
Wartość | Opis |
---|---|
RozwińEntities | Zwraca rozszerzony znak i jednostki ogólne. Jest to opcja domyślna. |
ExpandCharEntities | Zwraca zawartość tekstową do wartości , ale nie obejmuje odwołania do ogólnej jednostki. Oznacza to, że jednostka ogólna powoduje zatrzymanie funkcji ReadString. Musisz wywołać metodę Read , aby przejść przez odwołanie do jednostki. |