XmlReader.MoveToContent Método

Definição

Verifica se o nó atual é um nó de conteúdo (texto sem espaço em branco, CDATA, Element, EndElement, EntityReference ou EndEntity).Checks whether the current node is a content (non-white space text, CDATA, Element, EndElement, EntityReference, or EndEntity) node. Se o nó não for um nó de conteúdo, o leitor avançará para o próximo nó de conteúdo ou para o final do arquivo.If the node is not a content node, the reader skips ahead to the next content node or end of file. Pula nós de tipo seguir: ProcessingInstruction, DocumentType, Comment, Whitespace, ou SignificantWhitespace.It skips over nodes of the following type: ProcessingInstruction, DocumentType, Comment, Whitespace, or 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

Retornos

XmlNodeType

O NodeType do nó atual encontrado pelo método ou XmlNodeType.None se o leitor atingiu o fim do fluxo de entrada.The NodeType of the current node found by the method or XmlNodeType.None if the reader has reached the end of the input stream.

Exceções

XML incorreto encontrado no fluxo de entrada.Incorrect XML encountered in the input stream.

Um método XmlReader foi chamado antes do término de uma operação assíncrona anterior.An XmlReader method was called before a previous asynchronous operation finished. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Exemplos

Isso é útil quando você deseja escrever um código que possa ignorar a marcação XML aleatória sem interrupção.This is useful when you want to write code that can skip over random XML markup without breaking. Por exemplo, suponha que você tenha o seguinte código:For example, suppose you have the following code:

if ( reader->MoveToContent() == XmlNodeType::Element &&
   reader->Name->Equals( "price" ) )
{
   _price = reader->ReadString();
}
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 manipular as seguintes entradas sem interrupção:This code can handle the following inputs without breaking:

<price>123.4</price>  

eand

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

eand

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

eand

<!-- 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.If the current node is an attribute node, this method moves the reader back to the element that owns the attribute.

Para obter a versão assíncrona desse método, consulte MoveToContentAsync .For the asynchronous version of this method, see MoveToContentAsync.

Aplica-se a