XmlReader.Skip Yöntem

Tanım

Geçerli düğümün alt öğelerini atlar.

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

Özel durumlar

Önceki XmlReader bir zaman uyumsuz işlem tamamlanmadan önce bir yöntem çağrıldı. Bu durumda, InvalidOperationException "Zaman uyumsuz bir işlem zaten devam ediyor" iletisiyle oluşturulur.

Örnekler

Aşağıdaki örnek, ikinci kitap düğümünde başlayan bir XML dosyasını ayrıştırmaktadır.

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

Örnekte giriş 2books.xmlolarak dosyası kullanılır.

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

Açıklamalar

Okuyucu düğümde veya özniteliklerinden herhangi birinde konumlandırılmışsa <a> aşağıdaki XML girişinde çağrı yapmak Skip okuyucuyu düğüme <b> yerleştirir.

Okuyucu zaten bir yaprak düğümde (düğüm veya metin düğümü gibi<x>) konumlandırıldıysa, çağrısı abc ile Skipaynıdır.Read

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

Bu yöntem iyi biçimlendirilmiş XML'i denetler.

Okuyucu bir XmlValidatingReaderise, bu yöntem atlanan içeriği de doğrular.

Uygulama, XmlReader yöntemin Skip dış varlıkları genişletip genişletmeyeceğini belirler. Aşağıdaki tabloda, dış varlıkların çeşitli nesne türleri XmlReader için genişletilip genişletmediği açıklanmaktadır.

XmlReader Türü Dış varlıkları genişletir
XmlTextReader Hayır.
XmlReader metin verilerini okuyan yöntem tarafından Create oluşturulan örnek. Hayır.
XmlReader ikili verileri okuyan yöntemi tarafından Create oluşturulan örnek. Uygulanamaz.
yöntemi tarafından XmlReader oluşturulan bir şema doğrulama Create örneği. Yes.
XmlValidatingReader Yes.
XmlReader bir XPathNavigator nesne tarafından döndürülen örnek. Uygulanamaz.
XmlNodeReader Hayır.
XmlReader başka bir XmlReader örnek etrafında sarmalanmış örnek. Temel XmlReaderalınan uygulamasının uygulanmasına bağlıdır. Skip(Temel alınan XmlReader yöntem çağrılır).

Bu yöntemin zaman uyumsuz sürümü için bkz SkipAsync. .

Şunlara uygulanır