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 XmlReader método era chamado antes de uma operação assíncrona anterior terminar. Neste caso, InvalidOperationException é lançado com a mensagem "Uma operação assíncrona já está em curso."

Exemplos

O exemplo seguinte analisa um ficheiro XML a partir do 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 ficheiro , 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>

Observações

Na entrada XML seguinte, se o leitor estiver posicionado no <a> nó ou em qualquer um dos seus atributos, a chamada Skip posiciona o leitor para o <b> nó.

Se o leitor já estiver posicionado num nó folha (como o <x> nó ou o nó abcde texto ), chamar Skip é o mesmo que chamar Read.

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

Este método verifica se XML está bem formado.

Se o leitor for um XmlValidatingReader, este método também valida o conteúdo ignorado.

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

Tipo de XmlReader Expande entidades externas
XmlTextReader No.
XmlReader Instância criada pelo Create método que está a ler dados de texto. No.
XmlReader Instância criada pelo Create método que está a ler dados binários. Não aplicável.
Uma instância de validação XmlReader de esquemas criada pelo Create método. Yes.
XmlValidatingReader Yes.
XmlReader instância devolvida por um XPathNavigator objeto. Não aplicável.
XmlNodeReader No.
XmlReader instância enrolada em torno de outra XmlReader instância. Depende da implementação do subjacente XmlReader. (O Skip método no subjacente XmlReader chama-se).

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

Aplica-se a