XmlReader.MoveToContent Método

Definición

Comprueba si el nodo actual es un nodo de contenido (texto que no es de espacio en blanco, CDATA, ElementEndElement, , EntityReferenceo EndEntity). Si el nodo no es un nodo de contenido, el lector se omite al siguiente nodo de contenido o al final del archivo. Omite los nodos del tipo siguiente: ProcessingInstruction, DocumentType, Comment, Whitespaceo 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

NodeType del nodo actual encontrado por el método o XmlNodeType.None si el lector ha llegado al final del flujo de entrada.

Excepciones

Xml incorrecto encontrado en el flujo de entrada.

Se llamó a un XmlReader método antes de que finalice una operación asincrónica anterior. En este caso, InvalidOperationException se produce con el mensaje "Una operación asincrónica ya está en curso".

Ejemplos

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

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 a mover el lector al elemento que posee el atributo .

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

Se aplica a