XmlNodeReader.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 przypominającego tekst (może to obejmować CDATA, węzły tekstowe itd.). Może to być pusty ciąg, jeśli czytnik jest umieszczony w innym elemencie niż element lub węzeł tekstowy lub jeśli nie ma więcej zawartości tekstowej do zwrócenia w bieżącym kontekście.
Note:
Węzeł tekstowy może być elementem lub węzłem tekstowym atrybutu.
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()
{
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
Uwagi
Uwaga
W .NET Framework 2.0 zalecaną praktyką jest utworzenie XmlReader wystąpień przy użyciu XmlReaderSettings klasy i Create metody . Dzięki temu można w pełni wykorzystać wszystkie nowe funkcje wprowadzone w .NET Framework. Aby uzyskać więcej informacji, zobacz sekcję Uwagi na stronie referencyjnej XmlReader .
Jeśli element jest umieszczony na elemecie, ReadString
łączy cały tekst, znaczące białe znaki, białe znaki i typy węzłów sekcji CData oraz zwraca połączone dane jako zawartość elementu. Zatrzymuje się po napotkaniu znaczników. Taka sytuacja może wystąpić w modelu zawartości mieszanej lub gdy jest odczytywany tag końcowy elementu.
Jeśli jest on umieszczony w węźle przypominającym tekst, 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 początkowym elementu. Zwraca wszystkie węzły tekstowe połączonych elementów.