XmlReader.IsEmptyElement Propiedad

Definición

Cuando se reemplaza en una clase derivada, obtiene un valor que indica si el nodo actual es un elemento vacío (por ejemplo, <MyElement/>).

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

Valor de propiedad

true es si el nodo actual es un elemento (NodeType es igual XmlNodeType.Elementa ) que termina con />; de lo contrario, falsees .

Excepciones

Se llamó un método XmlReader antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.

Ejemplos

En el ejemplo siguiente se muestra el contenido de texto de cada 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

En el ejemplo se usa el archivo , elems.xmlcomo entrada.

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

Comentarios

Esta propiedad le permite determinar la diferencia entre lo siguiente:

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

<item num="123"></item> (IsEmptyElement es false, aunque el contenido del elemento está vacío).

No se genera un nodo correspondiente EndElement para los elementos vacíos.

Si se ha agregado contenido predeterminado a un elemento debido a la validación del esquema, IsEmptyElement sigue devuelvendo true. No tiene ningún efecto sobre si el elemento tiene o no un valor predeterminado. En otras palabras, IsEmptyElement simplemente informa de si el elemento del documento de origen tenía o no una etiqueta de elemento final.

Se aplica a