XmlReader.MoveToContent Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.