XmlValidatingReader.ReadString Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Čte obsah elementu nebo textového uzlu jako řetězec.
public:
override System::String ^ ReadString();
public override string ReadString ();
override this.ReadString : unit -> string
Public Overrides Function ReadString () As String
Návraty
Obsah elementu nebo textového uzlu. Může se jednat o prázdný řetězec, pokud je čtečka umístěna na něčem jiném než na elementu nebo textovém uzlu nebo pokud v aktuálním kontextu neexistuje žádný další textový obsah, který by se mohl vrátit.
Příklady
Následující příklad zobrazí textový obsah jednotlivých prvků.
#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
V příkladu se jako vstup používá soubor elems.xml
, .
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Poznámky
Textovým uzlem může být buď prvek, nebo textový uzel atributu.
Poznámka
Třída XmlValidatingReader je zastaralá v rozhraní .NET Framework 2.0. Ověřovací instanci můžete vytvořit XmlReader pomocí XmlReaderSettings třídy a Create metody. Další informace najdete v části Poznámky na XmlReader referenční stránce.
Je-li umístěna na elementu, ReadString
zřetězí všechny typy uzlů oddílů, významných prázdných mezer, prázdných znaků a CDATA a vrátí zřetězená data jako obsah elementu. Čtečka se zastaví, když se narazí na jakékoli revize, včetně komentářů a pokynů ke zpracování. K tomu může dojít v modelu smíšeného obsahu nebo při čtení koncové značky elementu.
Pokud je umístěn na textovém uzlu, ReadString
provede stejné zřetězení z textového uzlu do koncové značky elementu. Pokud je čtečka umístěna na textovém uzlu atributu, ReadString
má stejné funkce, jako kdyby byl čtenář umístěn na počáteční značce elementu. Vrátí všechny zřetězené textové uzly elementu.
Vlastnost EntityHandling určuje, jak ReadString
funguje následujícím způsobem:
Hodnota | Popis |
---|---|
ExpandEntities | Vrátí rozbalené znaky a obecné entity. Tato možnost je výchozí. |
Rozbalitcharentity | Vrátí textový obsah, ale nezahrnuje obecný odkaz na entitu. To znamená, že obecná entita způsobí zastavení readstringu. Pokud chcete přejít na odkaz na entitu, musíte volat Read . |