Freigeben über


XmlReader.Skip Methode

Definition

Ü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.xmlEingabe 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.

Gilt für