XmlReader.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 beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Knoten ein leeres Element ist (z. B <MyElement/>
. ).
public:
abstract property bool IsEmptyElement { bool get(); };
public abstract bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public MustOverride ReadOnly Property IsEmptyElement As Boolean
Eigenschaftswert
true
, wenn der aktuelle Knoten ein Element (NodeType gleich XmlNodeType.Element
) ist, das mit />
endet, false
andernfalls .
Ausnahmen
Eine XmlReader-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.
Beispiele
Im folgenden Beispiel wird der Textinhalt der einzelnen Elemente angezeigt.
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
Im Beispiel wird die Datei elems.xml
als Eingabe verwendet.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Hinweise
Diese Eigenschaft ermöglicht Ihnen, die Unterschiede zwischen den folgenden Elementen zu bestimmen:
<item num="123"/>
(IsEmptyElement
ist true
).
<item num="123"></item>
(IsEmptyElement
ist false
, obwohl der Elementinhalt leer ist).
Für leere Elemente wird kein entsprechender EndElement
Knoten generiert.
Wenn einem Element aufgrund der Schemavalidierung 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: Es wird einfach gemeldet, IsEmptyElement
ob das Element im Quelldokument über ein Endelementtag verfügt.