XmlValidatingReader.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.
Obtient une valeur indiquant si le nœud actuel est un élément vide (par exemple, <MyElement/>
).
public:
virtual property bool IsEmptyElement { bool get(); };
public override bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public Overrides 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
.
Exemples
L’exemple suivant affiche le contenu texte de chaque élément.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ txtreader = nullptr;
XmlValidatingReader^ reader = nullptr;
try
{
//Implement the readers.
txtreader = gcnew XmlTextReader( "elems.xml" );
reader = gcnew XmlValidatingReader( txtreader );
//Parse the XML and display the text content of each of the elements.
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.
}
}
}
}
finally
{
if ( reader != nullptr )
reader->Close();
}
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlTextReader txtreader = null;
XmlValidatingReader reader = null;
try
{
//Implement the readers.
txtreader = new XmlTextReader("elems.xml");
reader = new XmlValidatingReader(txtreader);
//Parse the XML and display the text content of each of the elements.
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.
}
}
}
}
finally
{
if (reader != null)
reader.Close();
}
}
} // End class
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim txtreader As XmlTextReader = Nothing
Dim reader As XmlValidatingReader = Nothing
Try
'Implement the readers.
txtreader = New XmlTextReader("elems.xml")
reader = New XmlValidatingReader(txtreader)
'Parse the XML and display the text content of each of the elements.
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()) 'Handle nested elements.
Console.WriteLine()
Console.Write("<{0}>", reader.Name)
End If
Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
End If
End If
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
L’exemple utilise le fichier, elems.xml
comme entrée.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Remarques
Notes
La XmlValidatingReader classe est obsolète dans .NET Framework 2.0. Vous pouvez créer une instance de validation à l’aide de XmlReader la XmlReaderSettings classe et de la Create méthode. Pour plus d'informations, consultez la section Notes de la page de référence XmlReader.
Cette propriété permet de déterminer la différence entre les balises suivantes :
<item num="123"/>
(IsEmptyElement
est true
).
<item num="123">
(IsEmptyElement
est false
, bien que le contenu de l’élément soit vide).
Un nœud correspondant EndElement
n’est pas 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 . Elle n’a aucune incidence sur l’absence ou non de la valeur par défaut de l’élément. En d’autres termes, IsEmptyElement
il suffit de indiquer si l’élément du document source avait une balise d’élément final.