XmlReader.MoveToContent Método

Definição

Verifica se o nó atual é um nó de conteúdo (texto sem espaço em branco, CDATA, Element, EndElementEntityReference, , ou EndEntity) . Se o nó não for um nó de conteúdo, o leitor avança para o próximo nó de conteúdo ou para o fim do ficheiro. Ignora nós do seguinte tipo: ProcessingInstruction, DocumentType, Comment, Whitespace, ou SignificantWhitespace.

public:
 virtual System::Xml::XmlNodeType MoveToContent();
public virtual System.Xml.XmlNodeType MoveToContent();
abstract member MoveToContent : unit -> System.Xml.XmlNodeType
override this.MoveToContent : unit -> System.Xml.XmlNodeType
Public Overridable Function MoveToContent () As XmlNodeType

Devoluções

O NodeType do nó atual encontrado pelo método ou XmlNodeType.None se o leitor já atingiu o fim do fluxo de entrada.

Exceções

XML incorreto encontrado no fluxo de entrada.

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

Isto é útil quando se quer escrever código que pode saltar marcações XML aleatórias sem se quebrar. Por exemplo, suponha que você tenha o seguinte código:

if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price")
 {
    _price = reader.ReadString();
 }
If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then
    _price = reader.ReadString()
End If

Este código pode lidar com as seguintes entradas sem quebrar:

<price>123.4</price>

e ainda

<?xml version="1.0"><!DOCTYPE price SYSTEM
  "abc"><price>123.4</price>

e ainda

<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
  [<!ENTITY p
  "123.4">]><price>&p;</price>

e ainda

<!-- some test comment --><?processing
  instruction?><price>123.4</price>

Observações

Se o nó atual for um nó de atributo, este método move o leitor de volta ao elemento que detém o atributo.

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

Aplica-se a