XmlReader.Skip Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ignore les enfants du nœud actuel.
public:
virtual void Skip();
public virtual void Skip ();
abstract member Skip : unit -> unit
override this.Skip : unit -> unit
Public Overridable Sub Skip ()
Exceptions
Une méthode XmlReader a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».
Exemples
L’exemple suivant analyse un fichier XML commençant sur le deuxième nœud de livre.
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
L’exemple utilise le fichier, 2books.xml
comme entrée.
<!--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>
Remarques
Dans l’entrée XML suivante, si le lecteur est positionné sur le <a>
nœud ou sur l’un de ses attributs, en appelant Skip
le lecteur sur le <b>
nœud.
Si le lecteur est positionné sur un nœud feuille déjà (tel que le <x>
nœud ou le nœud abc
texte), l’appel est identique à l’appel Skip
Read.
<a name="bob" age="123">
<x/>abc<y/>
</a>
<b>
...
</b>
Cette méthode vérifie le xml bien formé.
Si le lecteur est un XmlValidatingReader, cette méthode valide également le contenu ignoré.
L’implémentation XmlReader
détermine si la Skip
méthode développera ou non des entités externes. Le tableau suivant décrit si les entités externes sont développées pour les différents types d’objets XmlReader
.
Type de XmlReader | Développe des entités externes |
---|---|
XmlTextReader | Non. |
XmlReader instance créée par la Create méthode qui lit les données de texte. | Non. |
XmlReader instance créée par la Create méthode qui lit les données binaires. | Non applicable. |
Instance de validation de XmlReader schéma créée par la Create méthode. | Oui. |
XmlValidatingReader | Oui. |
XmlReader instance retournée par un XPathNavigator objet. | Non applicable. |
XmlNodeReader | Non. |
XmlReader instance encapsulée autour d’une autre XmlReader instance. | Dépend de l’implémentation du sous-jacent XmlReader. (La Skip méthode sur le sous-jacent XmlReader est appelée). |
Pour obtenir la version asynchrone de cette méthode, consultez SkipAsync.