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, EntityReferencelub 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, , DocumentTypeComment, Whitespacelub 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.