XmlReader.IsEmptyElement Propriété

Définition

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si le nœud actuel est un élément vide (par exemple, <MyElement/>).

public:
 abstract property bool IsEmptyElement { bool get(); };
public abstract bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public MustOverride ReadOnly Property IsEmptyElement As Boolean

Valeur de propriété

true si le nœud actuel est un élément (NodeType égal XmlNodeType.Elementà ) qui se termine par />; sinon, false.

Exceptions

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

L’exemple suivant affiche le contenu texte de chaque élément.

while (reader.Read()) {
  if (reader.IsStartElement()) {
    if (reader.IsEmptyElement)
                {
                    Console.WriteLine("<{0}/>", reader.Name);
                }
                else {
      Console.Write("<{0}> ", reader.Name);
      reader.Read(); // Read the start tag.
      if (reader.IsStartElement())  // Handle nested elements.
        Console.Write("\r\n<{0}>", reader.Name);
      Console.WriteLine(reader.ReadString());  //Read the text content of the element.
    }
  }
}
While reader.Read()
  If reader.IsStartElement() Then
    If reader.IsEmptyElement Then
      Console.WriteLine("<{0}/>", reader.Name)
    Else
      Console.Write("<{0}> ", reader.Name)
      reader.Read() ' Read the start tag.
      If reader.IsStartElement() Then ' Handle nested elements.
        Console.Write(vbCr + vbLf + "<{0}>", reader.Name)
      End If
      Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
    End If
  End If
End While

L’exemple utilise le fichier , elems.xmlcomme entrée.

<book>
  <title>Pride And Prejudice</title>
  <price>19.95</price>
  <misc/>
</book>

Remarques

Cette propriété permet de déterminer la différence entre les balises suivantes :

<item num="123"/> (IsEmptyElement est true).

<item num="123"></item> (IsEmptyElement est false, bien que le contenu de l’élément soit vide).

Aucun nœud correspondant EndElement n’est généré pour les éléments vides.

Si le contenu par défaut a été ajouté à un élément en raison de la validation du schéma, IsEmptyElement retourne truetoujours . Cela n’a aucune incidence sur le fait que l’élément ait ou non une valeur par défaut. En d’autres termes, IsEmptyElement indique simplement si l’élément du document source avait ou non une balise d’élément de fin.

S’applique à