XmlReader.Skip Metode

Definisi

Melompati anak-anak dari simpul saat ini.

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

Pengecualian

Metode XmlReader dipanggil sebelum operasi asinkron sebelumnya selesai. Dalam hal ini, InvalidOperationException dilemparkan dengan pesan "Operasi asinkron sudah berlangsung."

Contoh

Contoh berikut mengurai file XML yang dimulai pada simpul buku kedua.

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

Contohnya menggunakan file, 2books.xml, sebagai input.

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

Keterangan

Dalam input XML berikut jika pembaca diposisikan pada <a> simpul atau atributnya, memanggil Skip posisi pembaca ke simpul <b> .

Jika pembaca diposisikan pada simpul daun sudah (seperti <x> simpul atau node abcteks ), panggilan Skip sama dengan memanggil Read.

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

Metode ini memeriksa XML yang terbentuk dengan baik.

Jika pembaca adalah XmlValidatingReader, metode ini juga memvalidasi konten yang dilewati.

Implementasi XmlReader menentukan apakah metode akan Skip memperluas entitas eksternal atau tidak. Tabel berikut ini menjelaskan apakah entitas eksternal diperluas untuk berbagai jenis XmlReader objek.

Jenis XmlReader Memperluas entitas eksternal
XmlTextReader No.
XmlReader instans yang dibuat oleh Create metode yang membaca data teks. No.
XmlReader instans yang dibuat oleh Create metode yang membaca data biner. Tidak dapat diterapkan.
Instans validasi XmlReader skema yang dibuat oleh Create metode . Yes.
XmlValidatingReader Yes.
XmlReader instans yang dikembalikan oleh XPathNavigator objek. Tidak dapat diterapkan.
XmlNodeReader No.
XmlReader instans dibungkus di sekitar instans lain XmlReader . Tergantung pada implementasi yang mendasar XmlReader. (Metode Skip pada yang mendasar XmlReader dipanggil).

Untuk versi asinkron dari metode ini, lihat SkipAsync.

Berlaku untuk