Partilhar via


XmlReader.Skip Método

Definição

Ignora os filhos do nó atual.

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

Exceções

Um método XmlReader foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.

Exemplos

O exemplo a seguir analisa um arquivo XML que começa no segundo nó do livro.

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

O exemplo usa o arquivo, 2books.xmlcomo entrada.

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

Comentários

Na entrada XML a seguir, se o leitor estiver posicionado no <a> nó ou em qualquer um de seus atributos, chamar posicionará Skip o leitor para o <b> nó.

Se o leitor já estiver posicionado em um nó folha (como o <x> nó ou o nó abcde texto), a chamada Skip será a mesma que chamar Read.

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

Esse método verifica se há XML bem formado.

Se o leitor for um XmlValidatingReader, esse método também validará o conteúdo ignorado.

A XmlReader implementação determina se o Skip método expandirá ou não entidades externas. A tabela a seguir descreve se as entidades externas são expandidas para os vários tipos de XmlReader objetos.

Tipo de XmlReader Expande entidades externas
XmlTextReader Não.
XmlReader instância criada pelo Create método que está lendo dados de texto. Não.
XmlReader instância criada pelo Create método que está lendo dados binários. Não aplicável.
Uma instância de validação XmlReader de esquema criada pelo Create método. Sim.
XmlValidatingReader Sim.
XmlReader instância retornada por um XPathNavigator objeto. Não aplicável.
XmlNodeReader Não.
XmlReader instância encapsulada em torno de outra XmlReader instância. Depende da implementação do subjacente XmlReader. (O Skip método no subjacente XmlReader é chamado).

Para obter a versão assíncrona deste método, consulte SkipAsync.

Aplica-se a