Sdílet prostřednictvím


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

XmlReader Před dokončením předchozí asynchronní operace byla volána metoda. V tomto případě InvalidOperationException je vyvolán zpráva "Asynchronní operace již 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

V následujícím vstupu XML, pokud je čtenář umístěn na <a> uzlu nebo některý z jeho atributů, zavolá Skip čtenáře <b> do uzlu.

Pokud je čtečka umístěna na uzel typu list (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 správně formátovaný xml.

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

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

Typ XmlReader Rozbalí externí entity.
XmlTextReader Ne.
XmlReader instance vytvořená metodou Create , která čte textová data. Ne.
XmlReader instance vytvořená metodou Create , která čte binární data. Neužívá se.
Schéma, které XmlReader ověřuje instanci vytvořenou metodou Create . Ano.
XmlValidatingReader Ano.
XmlReader instance vrácená objektem XPathNavigator . Neužívá se.
XmlNodeReader Ne.
XmlReader instance zabalená kolem jiné XmlReader instance. Závisí na implementaci podkladového objektu XmlReader. (Volá se Skip metoda na podkladovém objektu XmlReader ).

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

Platí pro