XmlReader.Skip XmlReader.Skip XmlReader.Skip XmlReader.Skip Method

Definición

Omite los nodos secundarios del nodo actual.Skips the children of the current node.

public:
 virtual void Skip();
public virtual void Skip ();
abstract member Skip : unit -> unit
override this.Skip : unit -> unit
Public Overridable Sub Skip ()

Excepciones

Se llamó un método XmlReader antes de que se termine una operación asincrónica anterior.An XmlReader method was called before a previous asynchronous operation finished. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Ejemplos

En el siguiente ejemplo se analiza un archivo XML a partir del segundo nodo de libro.The following example parses an XML file starting on the second book node.

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

En el ejemplo se usa el 2books.xmlarchivo,, como entrada.The example uses the file, 2books.xml, as input.

<!--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>

Comentarios

En la siguiente entrada XML, si el lector está situado en <a> el nodo o en cualquiera de sus atributos Skip , al llamar a se <b> sitúa el lector en el nodo.In the following XML input if the reader is positioned on the <a> node or any of its attributes, calling Skip positions the reader to the <b> node.

Si el lector ya está situado en un nodo hoja (por ejemplo, <x> el nodo o el nodo abcde texto) Skip , la llamada a es Readlo mismo que llamar a.If the reader is positioned on a leaf node already (such as the <x> node or the text node abc), calling Skip is the same as calling Read.

<a name="bob" age="123">  
 <x/>abc<y/>  
</a>  
<b>  
...  
</b>  

Este método comprueba el XML con formato correcto.This method checks for well-formed XML.

Si el lector es XmlValidatingReader, este método también valida el contenido omitido.If the reader is an XmlValidatingReader, this method also validates the skipped content.

La XmlReader implementación de determina si el método Skip expandirá o no las entidades externas.The XmlReader implementation determines whether or not the Skip method will expand external entities. En la tabla siguiente se describe si las entidades externas se expanden para los XmlReader distintos tipos de objetos.The following table describes whether the external entities are expanded for the various types of XmlReader objects.

Tipo de XmlReaderType of XmlReader Expande entidades externasExpands external entities
XmlTextReader No.No.
XmlReaderinstancia creada por el Create método que está leyendo los datos de texto.XmlReader instance created by the Create method that is reading text data. No.No.
XmlReaderinstancia creada por el Create método que está leyendo los datos binarios.XmlReader instance created by the Create method that is reading binary data. No es aplicable.Not applicable.
Instancia de validación XmlReader de esquema creada por Create el método.A schema validating XmlReader instance created by the Create method. Sí.Yes.
XmlValidatingReader Sí.Yes.
XmlReaderinstancia devuelta por XPathNavigator un objeto.XmlReader instance returned by a XPathNavigator object. No es aplicable.Not applicable.
XmlNodeReader No.No.
XmlReaderinstancia incluida en torno XmlReader a otra instancia.XmlReader instance wrapped around another XmlReader instance. Depende de la implementación del subyacente XmlReader.Depends on the implementation of the underlying XmlReader. (Se Skip llama al método en XmlReader el subyacente).(The Skip method on the underlying XmlReader is called).

Para obtener la versión asincrónica de este método, vea SkipAsync.For the asynchronous version of this method, see SkipAsync.

Se aplica a