XmlReader.IsEmptyElement Eigenschaft

Definition

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, 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 />; andernfalls falseendet.

Ausnahmen

Eine XmlReader Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits 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 als elems.xmlEingabe verwendet.

<book>
  <title>Pride And Prejudice</title>
  <price>19.95</price>
  <misc/>
</book>

Hinweise

Mit dieser Eigenschaft können Sie den Unterschied zwischen den folgenden Eigenschaften ermitteln:

<item num="123"/> (IsEmptyElement ist true).

<item num="123"></item> (IsEmptyElement ist false, obwohl Elementinhalt leer ist).

Für leere Elemente wird kein entsprechender EndElement Knoten generiert.

Wenn ein Standardinhalt aufgrund der Schemaüberprüfung einem Element hinzugefügt wurde, IsEmptyElement wird weiterhin zurückgegeben true. Sie hat keine Auswirkungen darauf, ob das Element über einen Standardwert verfügt. Mit anderen Worten: Gibt einfach an, IsEmptyElement ob das Element im Quelldokument ein Endelementtag hatte.

Gilt für: