Aracılığıyla paylaş


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ünden 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

Aşağıdaki XML girişinde okuyucu düğümde <a> veya özniteliklerinden herhangi birinde konumlandırıldıysa, çağrısı 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ı Skip ile Readaynıdır.abc

<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şletılmediği açıklanmaktadır.

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

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

Şunlara uygulanır