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ü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.xml
olarak 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. .