XmlReader.Skip Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Slaat de onderliggende elementen van het huidige knooppunt over.
public:
virtual void Skip();
public virtual void Skip();
abstract member Skip : unit -> unit
override this.Skip : unit -> unit
Public Overridable Sub Skip ()
Uitzonderingen
Er XmlReader is een methode aangeroepen voordat een vorige asynchrone bewerking is voltooid. In dit geval InvalidOperationException wordt het bericht 'Er wordt al een asynchrone bewerking uitgevoerd'.
Voorbeelden
In het volgende voorbeeld wordt een XML-bestand geparseerd dat begint op het tweede boekknooppunt.
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
In het voorbeeld wordt het bestand als 2books.xmlinvoer gebruikt.
<!--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>
Opmerkingen
In de volgende XML-invoer als de lezer zich op het knooppunt of een van de <a> kenmerken bevindt, wordt de lezer aangeroepen Skip naar het <b> knooppunt.
Als de lezer zich al op een bladknooppunt bevindt (zoals het <x> knooppunt of het tekstknooppunt abc), is het aanroepen hetzelfde als het aanroepen SkipRead.
<a name="bob" age="123">
<x/>abc<y/>
</a>
<b>
...
</b>
Met deze methode wordt gecontroleerd op goed opgemaakte XML.
Als de lezer een XmlValidatingReaderis, valideert deze methode ook de overgeslagen inhoud.
De XmlReader implementatie bepaalt of de Skip methode externe entiteiten uitbreidt. In de volgende tabel wordt beschreven of de externe entiteiten worden uitgebreid voor de verschillende typen XmlReader objecten.
| Type of XmlReader | Breidt externe entiteiten uit |
|---|---|
| XmlTextReader | No. |
| XmlReader exemplaar dat is gemaakt door de Create methode die tekstgegevens leest. | No. |
| XmlReader exemplaar dat is gemaakt door de Create methode die binaire gegevens leest. | Niet van toepassing. |
| Een schema dat een exemplaar valideert XmlReader dat door de Create methode is gemaakt. | Yes. |
| XmlValidatingReader | Yes. |
| XmlReader exemplaar dat wordt geretourneerd door een XPathNavigator object. | Niet van toepassing. |
| XmlNodeReader | No. |
| XmlReader exemplaar dat is verpakt rond een ander XmlReader exemplaar. | Is afhankelijk van de implementatie van de onderliggende XmlReader. (De Skip methode op de onderliggende XmlReader waarde wordt aangeroepen). |
Zie voor de asynchrone versie van deze methode SkipAsync.