XmlReader.MoveToContent 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í.
Zkontroluje, jestli je aktuální uzel obsahem (bez prázdného textu, CDATA, Element, EndElement, EntityReferencenebo EndEntity) uzlu. Pokud uzel není uzel obsahu, čtenář přeskočí dopředu na další uzel obsahu nebo konec souboru. Přeskočí uzly následujícího typu: ProcessingInstruction, DocumentType, Comment, Whitespace, nebo SignificantWhitespace.
public:
virtual System::Xml::XmlNodeType MoveToContent();
public virtual System.Xml.XmlNodeType MoveToContent();
abstract member MoveToContent : unit -> System.Xml.XmlNodeType
override this.MoveToContent : unit -> System.Xml.XmlNodeType
Public Overridable Function MoveToContent () As XmlNodeType
Návraty
Aktuální NodeType uzel nalezený metodou nebo XmlNodeType.None pokud čtenář dosáhl konce vstupního datového proudu.
Výjimky
Ve vstupním datovém proudu byla zjištěna nesprávná hodnota XML.
Před XmlReader dokončením předchozí asynchronní operace byla volána metoda. V tomto případě InvalidOperationException je vyvolán zpráva "Asynchronní operace už probíhá".
Příklady
To je užitečné, když chcete napsat kód, který může přeskočit náhodné kódy XML bez přerušení. Předpokládejme například, že máte následující kód:
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price")
{
_price = reader.ReadString();
}
If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then
_price = reader.ReadString()
End If
Tento kód dokáže zpracovat následující vstupy bez přerušení:
<price>123.4</price>
a
<?xml version="1.0"><!DOCTYPE price SYSTEM
"abc"><price>123.4</price>
a
<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
[<!ENTITY p
"123.4">]><price>&p;</price>
a
<!-- some test comment --><?processing
instruction?><price>123.4</price>
Poznámky
Pokud je aktuálním uzlem uzel atributu, tato metoda přesune čtenáře zpět do elementu, který vlastní atribut.
Asynchronní verzi této metody naleznete v tématu MoveToContentAsync.