XmlReader.MoveToContent Methode

Definition

Überprüft, ob es sich bei dem aktuellen Knoten um einen Inhalt (nicht leerer Text, CDATA, , Element, EndElementoder EntityReferenceEndEntity) handelt. Wenn der Knoten kein Inhaltsknoten ist, überspringt der Leser den nächsten Inhaltsknoten oder das Ende der Datei. Er überspringt Knoten des folgenden Typs: ProcessingInstruction, , DocumentType, , CommentWhitespace, oder 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

Gibt zurück

Der NodeType von der Methode gefundene aktuelle Knoten oder XmlNodeType.None wenn der Leser das Ende des Eingabedatenstroms erreicht hat.

Ausnahmen

Falscher XML-Code im Eingabedatenstrom.

Eine XmlReader Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Beispiele

Dies ist nützlich, wenn Sie Code schreiben möchten, der zufälliges XML-Markup überspringen kann, ohne zu unterbrechen. Angenommen, Sie haben den folgenden Code:

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

Dieser Code kann die folgenden Eingaben ohne Unterbrechung verarbeiten:

<price>123.4</price>

und

<?xml version="1.0"><!DOCTYPE price SYSTEM
  "abc"><price>123.4</price>

und

<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
  [<!ENTITY p
  "123.4">]><price>&p;</price>

und

<!-- some test comment --><?processing
  instruction?><price>123.4</price>

Hinweise

Wenn der aktuelle Knoten ein Attributknoten ist, verschiebt diese Methode den Leser zurück zu dem Element, das das Attribut besitzt.

Die asynchrone Version dieser Methode finden Sie unter MoveToContentAsync.

Gilt für: