XmlReader.MoveToContent Método

Definição

Verifica se o nó atual é um conteúdo (texto de espaço não branco, CDATA, Element, , EndElement, EntityReferenceou EndEntity) nó. Se o nó não for um nó de conteúdo, o leitor ignorará o próximo nó de conteúdo ou o fim do arquivo. Ele ignora nós do seguinte tipo: ProcessingInstruction, , DocumentType, Comment, ou WhitespaceSignificantWhitespace.

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

Retornos

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

Exceções

XML incorreto encontrado no fluxo de entrada.

Um XmlReader método foi chamado antes de uma operação assíncrona anterior ser concluída. Nesse caso, InvalidOperationException é lançada com a mensagem "Uma operação assíncrona já está em andamento".

Exemplos

Isso é útil quando você deseja escrever um código que pode ignorar a marcação XML aleatória sem 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

Esse código pode lidar com as seguintes entradas sem interromper:

<price>123.4</price>

e

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

e

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

e

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

Comentários

Se o nó atual for um nó de atributo, esse método moverá o leitor de volta para o elemento que possui o atributo.

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

Aplica-se a