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 InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits 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 Reader auf dem <a> Knoten oder einem seiner Attribute positioniert ist, positioniert das Aufrufen Skip des Readers 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 SkipRead.

<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 Objekttypen XmlReader erweitert werden.

XmlReader-Typ Erweitert externe Entitäten
XmlTextReader No.
XmlReader instanz created by the Create method that is reading text data. No.
XmlReader instanz created by the Create method that is reading binary data. Nicht zutreffend.
Eine Schemaüberprüfungsinstanz XmlReader , die von der Create Methode erstellt wurde. Yes.
XmlValidatingReader Yes.
XmlReader Instanz, die von einem XPathNavigator Objekt zurückgegeben wird. Nicht zutreffend.
XmlNodeReader No.
XmlReader Instanz umbrochen um eine andere XmlReader Instanz. Hängt von der Implementierung des zugrunde liegenden XmlReader. (Die Skip Methode für die zugrunde liegende XmlReader Wird aufgerufen).

Die asynchrone Version dieser Methode finden Sie unter SkipAsync.

Gilt für: