XmlReader.MoveToContent XmlReader.MoveToContent XmlReader.MoveToContent XmlReader.MoveToContent Method

Definizione

Verifica se il nodo corrente rappresenta un nodo di contenuto, ovvero un nodo testo non spazio vuoto, CDATA, Element, EndElement, EntityReference o EndEntity.Checks whether the current node is a content (non-white space text, CDATA, Element, EndElement, EntityReference, or EndEntity) node. Se il nodo non è un nodo di contenuto, il lettore passa al nodo di contenuto successivo oppure alla fine del file.If the node is not a content node, the reader skips ahead to the next content node or end of file. Vengono inoltre ignorati i seguenti tipi di nodo: ProcessingInstruction, DocumentType, Comment, Whitespace o SignificantWhitespace.It skips over nodes of the following type: ProcessingInstruction, DocumentType, Comment, Whitespace, or 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.The NodeType of the current node found by the method or XmlNodeType.None if the reader has reached the end of the input stream.

Eccezioni

È stata trovata una stringa XML non corretta nel flusso di input.Incorrect XML encountered in the input stream.

È stato chiamato un metodo della classe XmlReader prima del completamento di un'operazione asincrona precedente.An XmlReader method was called before a previous asynchronous operation finished. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Esempi

Ciò è utile quando si desidera scrivere codice che possa ignorare i markup XML casuale senza interruzioni.This is useful when you want to write code that can skip over random XML markup without breaking. Ad esempio, si supponga di che avere il codice seguente:For example, suppose you have the following code:

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 l'input seguente senza interruzioni:This code can handle the following inputs without breaking:

<price>123.4</price>  

eand

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

eand

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

eand

<!-- some test comment --><?processing  
  instruction?><price>123.4</price>  

Commenti

Se il nodo corrente è un nodo attributo, questo metodo passa indietro il lettore all'elemento che possiede l'attributo.If the current node is an attribute node, this method moves the reader back to the element that owns the attribute.

Per la versione asincrona di questo metodo, vedere MoveToContentAsync.For the asynchronous version of this method, see MoveToContentAsync.

Si applica a