Leggere in inglese

Condividi tramite


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.

C#
public virtual System.Xml.XmlNodeType MoveToContent();

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:

C#
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price")
 {
    _price = reader.ReadString();
 }

Questo codice può gestire gli input seguenti senza interruzioni:

XML
<price>123.4</price>

e

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

e

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

e

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

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0