XmlReader.MoveToContent Methode

Definition

Überprüft, ob der aktuelle Knoten ein Inhaltsknoten (Textknoten ohne Leerraum, CDATA-, Element-, EndElement-, EntityReference- oder EndEntity-Knoten) ist. Wenn der Knoten kein Inhaltsknoten ist, springt der Reader zum nächsten Inhaltsknoten oder an das Ende der Datei. Knoten folgender Typen werden übersprungen: ProcessingInstruction, DocumentType, Comment, Whitespace und 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

XmlNodeType

Der NodeType des von der Methode gefundenen aktuellen Knotens oder XmlNodeType.None, wenn der Reader das Ende des Eingabestreams erreicht hat.

Ausnahmen

Im Eingabestream wurde unzulässiger XML-Code gefunden.

Eine XmlReader-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Beispiele

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

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

Dieser Code kann die folgenden Eingaben ohne Unterbrechung behandeln:

<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 zum Element, das das Attribut besitzt.

Eine asynchrone Version dieser Methode finden Sie unter MoveToContentAsync.

Gilt für