XmlReader.Skip Metoda

Definice

Přeskočí podřízené položky aktuálního uzlu.

public:
 virtual void Skip();
public virtual void Skip();
abstract member Skip : unit -> unit
override this.Skip : unit -> unit
Public Overridable Sub Skip ()

Výjimky

Před XmlReader dokončením předchozí asynchronní operace byla volána metoda. V tomto případě InvalidOperationException je vyvolán zpráva "Asynchronní operace už probíhá".

Příklady

Následující příklad analyzuje soubor XML začínající na druhém uzlu knihy.

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

Příklad používá soubor , 2books.xmljako vstup.

<!--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>

Poznámky

Pokud je čtečka umístěna na <a> uzlu nebo v některém z jeho atributů, umístí Skip čtečku do <b> uzlu v následujícím vstupu XML.

Pokud je čtečka umístěna na listovém uzlu již (například <x> uzel nebo textový uzel abc), volání Skip je stejné jako volání Read.

<a name="bob" age="123">
 <x/>abc<y/>
</a>
<b>
...
</b>

Tato metoda kontroluje formát XML ve správném formátu.

Pokud je čtenářem XmlValidatingReader, tato metoda také ověří přeskočený obsah.

Implementace XmlReader určuje, zda Skip metoda rozbalí externí entity. Následující tabulka popisuje, zda jsou externí entity rozbalené pro různé typy XmlReader objektů.

Typ třídy XmlReader Rozbalí externí entity.
XmlTextReader No.
XmlReader instance vytvořená metodou Create , která čte textová data. No.
XmlReader instance vytvořená metodou Create , která čte binární data. Nevztahuje se.
Schéma, které XmlReader ověřuje instanci vytvořenou metodou Create . Yes.
XmlValidatingReader Yes.
XmlReader instance vrácená objektem XPathNavigator . Nevztahuje se.
XmlNodeReader No.
XmlReader instance zabalená kolem jiné XmlReader instance. Závisí na implementaci podkladového XmlReaderobjektu . (Metoda Skip na podkladovém objektu XmlReader je volána).

Asynchronní verzi této metody naleznete v tématu SkipAsync.

Platí pro