XmlReader.MoveToContent Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.