XmlReader.MoveToContent Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
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.