XmlReader.Skip Méthode

Définition

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.xmlcomme 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 abctexte), 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.

S’applique à