XmlReader.MoveToContent Méthode

Définition

Vérifie si le nœud actuel est un nœud de contenu (texte non blanc, CDATA, , Element, EndElementEntityReferenceou EndEntity) de contenu. Si le nœud n’est pas un nœud de contenu, le lecteur passe avant au nœud de contenu suivant ou à la fin du fichier. Il ignore les nœuds du type suivant : ProcessingInstruction, , DocumentType, Comment, Whitespaceou 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

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

Exceptions

Xml incorrect rencontré dans le flux d’entrée.

Une XmlReader méthode a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, 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 ayez le code suivant :

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 à