XmlReader.IsEmptyElement Proprietà

Definizione

Quando viene eseguito l'override in una classe derivata, ottiene un valore che indica se il nodo corrente è un elemento vuoto, ad esempio <MyElement/>.

public:
 abstract property bool IsEmptyElement { bool get(); };
public abstract bool IsEmptyElement { get; }
member this.IsEmptyElement : bool
Public MustOverride ReadOnly Property IsEmptyElement As Boolean

Valore della proprietà

Boolean

true se il nodo corrente è un elemento (NodeType uguale XmlNodeType.Elementa ) che termina con />; in caso contrario, false.

Eccezioni

È stato chiamato un metodo della classe XmlReader prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Esempio

Nell'esempio seguente viene visualizzato il contenuto di testo di ogni elemento.

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

Nell'esempio viene usato il file, , elems.xmlcome input.

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

Commenti

Questa proprietà consente di determinare la differenza tra le seguenti stringhe:

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

<item num="123"></item> (IsEmptyElement è , anche se il contenuto dell'elemento è falsevuoto).

Un nodo corrispondente EndElement non viene generato per gli elementi vuoti.

Se il contenuto predefinito è stato aggiunto a un elemento a causa della convalida dello schema, IsEmptyElement restituisce truecomunque . Non ha alcun effetto sul fatto che l'elemento abbia un valore predefinito. In altre parole, IsEmptyElement indica semplicemente se l'elemento nel documento di origine ha un tag di elemento finale.

Si applica a