XmlReader.Skip 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.
Überspringt die untergeordneten Elemente des aktuellen Knotens.
public:
virtual void Skip();
public virtual void Skip ();
abstract member Skip : unit -> unit
override this.Skip : unit -> unit
Public Overridable Sub Skip ()
Ausnahmen
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
Im folgenden Beispiel wird eine XML-Datei analysiert, die auf dem zweiten Buchknoten beginnt.
using (XmlReader reader = XmlReader.Create("2books.xml")) {
// Move the reader to the second book node.
reader.MoveToContent();
reader.ReadToDescendant("book");
reader.Skip(); //Skip the first book.
// Parse the file starting with the second book node.
do {
switch (reader.NodeType) {
case XmlNodeType.Element:
Console.Write("<{0}", reader.Name);
while (reader.MoveToNextAttribute()) {
Console.Write(" {0}='{1}'", reader.Name, reader.Value);
}
Console.Write(">");
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
} while (reader.Read());
}
Using reader As XmlReader = XmlReader.Create("2books.xml")
' Move the reader to the second book node.
reader.MoveToContent()
reader.ReadToDescendant("book")
reader.Skip() 'Skip the first book.
' Parse the file starting with the second book node.
Do
Select Case reader.NodeType
Case XmlNodeType.Element
Console.Write("<{0}", reader.Name)
While reader.MoveToNextAttribute()
Console.Write(" {0}='{1}'", reader.Name, reader.Value)
End While
Console.Write(">")
Case XmlNodeType.Text
Console.Write(reader.Value)
Case XmlNodeType.EndElement
Console.Write("</{0}>", reader.Name)
End Select
Loop While reader.Read()
End Using
Im Beispiel wird die Datei als 2books.xml
Eingabe verwendet.
<!--sample XML fragment-->
<bookstore>
<book genre='novel' ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
<price>24.95</price>
</book>
</bookstore>
Hinweise
In der folgenden XML-Eingabe, wenn der Leser auf dem <a>
Knoten oder einem seiner Attribute positioniert ist, Skip
positioniert sich der Leser an den <b>
Knoten.
Wenn der Leser bereits auf einem Blattknoten positioniert ist (z. B. den <x>
Knoten oder den Textknoten abc
), ist der Aufruf identisch mit dem Aufrufen Skip
Read.
<a name="bob" age="123">
<x/>abc<y/>
</a>
<b>
...
</b>
Diese Methode sucht nach wohlgeformten XML-Daten.
Wenn der Reader ein XmlValidatingReaderist, überprüft diese Methode auch den übersprungenen Inhalt.
Die XmlReader
Implementierung bestimmt, ob die Skip
Methode externe Entitäten erweitert. In der folgenden Tabelle wird beschrieben, ob die externen Entitäten für die verschiedenen Arten von XmlReader
Objekten erweitert werden.
Typ von XmlReader | Erweitert externe Entitäten |
---|---|
XmlTextReader | Nein. |
XmlReader Instanz, die von der Methode erstellt wurde, die Create Textdaten liest. | Nein. |
XmlReader Instanz, die von der Methode erstellt wurde, die Create binäre Daten liest. | Nicht zutreffend |
Eine Schemaüberprüfungsinstanz, XmlReader die von der Create Methode erstellt wurde. | Ja. |
XmlValidatingReader | Ja. |
XmlReader Instanz, die von einem XPathNavigator Objekt zurückgegeben wird. | Nicht zutreffend |
XmlNodeReader | Nein. |
XmlReader Instanz umgebrochen um eine andere XmlReader Instanz. | Hängt von der Implementierung des zugrunde liegenden XmlReader. (Die Skip Methode für die zugrunde liegende XmlReader Methode wird aufgerufen). |
Die asynchrone Version dieser Methode finden Sie unter SkipAsync.