XmlReader.Skip Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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. .