Ler em inglês

Partilhar via


XmlReader.IsEmptyElement Propriedade

Definição

Quando substituído em uma classe derivada, obtém um valor que indica se o nó atual é um elemento vazio (por exemplo, <MyElement/>).

C#
public abstract bool IsEmptyElement { get; }

Valor da propriedade

true se o nó atual for um elemento (NodeType igual a XmlNodeType.Element) que terminará com />; caso contrário, false.

Exceções

Um método XmlReader foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.

Exemplos

O exemplo a seguir exibe o conteúdo de texto de cada elemento.

C#
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.
    }
  }
}

O exemplo usa o arquivo , elems.xmlcomo entrada.

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

Comentários

Essa propriedade permite determinar a diferença entre o seguinte:

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

<item num="123"></item> (IsEmptyElement é false, embora o conteúdo do elemento esteja vazio).

Um nó correspondente EndElement não é gerado para elementos vazios.

Se o conteúdo padrão tiver sido adicionado a um elemento devido à validação do esquema, IsEmptyElement ainda retornará true. Ele não tem nenhuma influência sobre se o elemento tem ou não um valor padrão. Em outras palavras, IsEmptyElement simplesmente relata se o elemento no documento de origem tinha ou não uma marca de elemento final.

Aplica-se a

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0