XmlReader.IsEmptyElement Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando substituído em uma classe derivada, obtém um valor que indica se o nó atual é um elemento vazio (por exemplo, <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 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.
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
O exemplo usa o arquivo , elems.xml
como entrada.
<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.