XmlReader.MoveToContent Méthode

Définition

Vérifie si le nœud actuel est un nœud de contenu (texte non constitué d'espaces blancs, CDATA, Element, EndElement, EntityReference ou EndEntity). Si le nœud n'est pas un nœud de contenu, le lecteur avance jusqu'au nœud de contenu suivant ou jusqu'à la fin du fichier. Il ignore les nœuds possédant les types suivants : ProcessingInstruction, DocumentType, Comment, Whitespace ou 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

Retours

L’élément NodeType du nœud actuel trouvé par la méthode ou XmlNodeType.None si le lecteur a atteint la fin du flux d'entrée.

Exceptions

Code XML incorrect dans le flux d'entrée.

Une méthode XmlReader a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Exemples

Cela est utile lorsque vous souhaitez écrire du code qui peut ignorer le balisage XML aléatoire sans rupture. Par exemple, supposons que vous avez le code suivant :

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

Ce code peut gérer les entrées suivantes sans rupture :

<price>123.4</price>

et

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

et

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

et

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

Remarques

Si le nœud actuel est un nœud d’attribut, cette méthode déplace le lecteur vers l’élément propriétaire de l’attribut.

Pour obtenir la version asynchrone de cette méthode, consultez MoveToContentAsync.

S’applique à