XmlReader.IsEmptyElement Eigenschaft

Definition

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, falseandernfalls .

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.xmlals 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.

Gilt für: