XmlReader.MoveToContent Metodo

Definizione

Verifica se il nodo corrente rappresenta un nodo di contenuto, ovvero un nodo testo non spazio vuoto, CDATA, Element, EndElement, EntityReference o EndEntity. Se il nodo non è un nodo di contenuto, il lettore passa al nodo di contenuto successivo oppure alla fine del file. Vengono inoltre ignorati i seguenti tipi di 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

Restituisce

Proprietà NodeType del nodo corrente trovato dal metodo o XmlNodeType.None se il lettore ha raggiunto la fine del flusso di input.

Eccezioni

È stata trovata una stringa XML non corretta nel flusso di input.

È stato chiamato un metodo della classe XmlReader prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Esempio

Questo è utile quando si vuole scrivere codice che può ignorare il markup XML casuale senza interruzioni. Ad esempio, si supponga di disporre del codice seguente:

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

Questo codice può gestire gli input seguenti senza interruzioni:

<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>

Commenti

Se il nodo corrente è un nodo attributo, questo metodo sposta nuovamente il lettore nell'elemento proprietario dell'attributo.

Per la versione asincrona di questo metodo, vedere MoveToContentAsync.

Si applica a