XmlValidatingReader.IsEmptyElement Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, <MyElement/>
ob der aktuelle Knoten ein leeres Element ist (z. B. ).
public:
virtual property bool IsEmptyElement { bool get(); };
public override bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public Overrides ReadOnly Property IsEmptyElement As Boolean
Eigenschaftswert
true
, wenn der aktuelle Knoten ein Element (NodeType gleich XmlNodeType.Element
) ist, das mit />
endet; andernfalls false
.
Beispiele
Im folgenden Beispiel wird der Textinhalt der einzelnen Elemente angezeigt.
#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
Im Beispiel wird die Datei als elems.xml
Eingabe verwendet.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Hinweise
Hinweis
Die XmlValidatingReader Klasse ist in .NET Framework 2.0 veraltet. Sie können eine Validierungsinstanz XmlReader erstellen, indem Sie die XmlReaderSettings -Klasse und die Create -Methode verwenden. Weitere Informationen finden Sie im Abschnitt Hinweise unter der XmlReader Referenzseite.
Diese Eigenschaft ermöglicht Ihnen, die Unterschiede zwischen den folgenden Elementen zu bestimmen:
<item num="123"/>
(IsEmptyElement
ist true
).
<item num="123">
(IsEmptyElement
ist false
, obwohl der Elementinhalt leer ist).
Für leere Elemente wird kein entsprechender EndElement
Knoten generiert.
Wenn einem Element aufgrund der Schemaüberprüfung Standardinhalt hinzugefügt wurde, IsEmptyElement
wird trotzdem zurückgegeben true
. Es hat keinen Einfluss darauf, ob das Element über einen Standardwert verfügt oder nicht. Anders ausgedrückt: Meldet einfach, IsEmptyElement
ob das Element im Quelldokument über ein Endelementtag verfügte oder nicht.