XmlReader.IsEmptyElement Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.xml
comme 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 true
toujours . 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.