XmlReader.MoveToContent 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.
Sprawdza, czy bieżący węzeł jest zawartością (tekst inny niż biały, CDATA
, Element
, EndElement
, EntityReference
lub EndEntity
) węzła. Jeśli węzeł nie jest węzłem zawartości, czytnik pomija następny węzeł zawartości lub koniec pliku. Pomija on węzły następującego typu: ProcessingInstruction
, , DocumentType
Comment
, Whitespace
lub 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
Zwraca
Bieżący NodeType węzeł znaleziony przez metodę lub XmlNodeType.None
jeśli czytnik osiągnął koniec strumienia wejściowego.
Wyjątki
Niepoprawny kod XML napotkany w strumieniu wejściowym.
Metoda XmlReader została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W tym przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".
Przykłady
Jest to przydatne, gdy chcesz napisać kod, który może pominąć losowe znaczniki XML bez przerywania. Załóżmy na przykład, że masz następujący kod:
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
Ten kod może obsługiwać następujące dane wejściowe bez przerywania pracy:
<price>123.4</price>
oraz
<?xml version="1.0"><!DOCTYPE price SYSTEM
"abc"><price>123.4</price>
oraz
<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
[<!ENTITY p
"123.4">]><price>&p;</price>
oraz
<!-- some test comment --><?processing
instruction?><price>123.4</price>
Uwagi
Jeśli bieżący węzeł jest węzłem atrybutu, ta metoda przenosi czytelnika z powrotem do elementu, który jest właścicielem atrybutu.
Aby uzyskać asynchroniczną wersję tej metody, zobacz MoveToContentAsync.