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ím uzlem obsah (text bez prázdných znaků, CDATA
, Element
, EndElement
, EntityReference
nebo EndEntity
). 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
Hodnota NodeType aktuálního uzlu nalezeného metodou nebo XmlNodeType.None
pokud čtenář dosáhl konce vstupního datového proudu.
Výjimky
Ve vstupním streamu byl zjištěn nesprávný kód XML.
Před XmlReader dokončením předchozí asynchronní operace byla volána metoda . V tomto případě InvalidOperationException je vyvolán se zprávou "Asynchronní operace již 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->Equals( "price" ) )
{
_price = reader->ReadString();
}
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ý je vlastníkem atributu.
Asynchronní verzi této metody najdete v tématu MoveToContentAsync.