Compartir vía


XmlReader.MoveToContent Método

Definición

Comprueba si el nodo actual es un nodo de contenido (texto sin espacios en blanco, CDATA, Element, EndElement, EntityReference o EndEntity). Si el nodo no es un nodo de contenido, el lector salta hasta el siguiente nodo de contenido o el final del archivo. Omite los siguientes tipos de nodo: ProcessingInstruction, DocumentType, Comment, Whitespace o 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

Devoluciones

El NodeType del nodo actual encontrado por el método o XmlNodeType.None si el lector alcanzó el final del flujo de entrada.

Excepciones

XML incorrecto que se encuentra en el flujo de entrada.

Se llamó un método XmlReader antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.

Ejemplos

Esto resulta útil cuando desea escribir código que puede omitir el marcado XML aleatorio sin interrumpir. Por ejemplo, supongamos que tiene el siguiente código:

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

Este código puede controlar las siguientes entradas sin interrumpir:

<price>123.4</price>

y

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

y

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

y

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

Comentarios

Si el nodo actual es un nodo de atributo, este método vuelve al lector al elemento que posee el atributo.

Para obtener la versión asincrónica de este método, vea MoveToContentAsync.

Se aplica a