XmlReader.IsEmptyElement Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Quando sobrescrito numa 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 de Propriedade
true se o nó atual for um elemento (NodeType igual a XmlNodeType.Element) que termina em />; caso contrário, false.
Exceções
Um XmlReader método era chamado antes de uma operação assíncrona anterior terminar. Neste caso, InvalidOperationException é lançado com a mensagem "Uma operação assíncrona já está em curso."
Exemplos
O exemplo seguinte mostra o conteúdo textual 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 ficheiro , elems.xmlcomo entrada.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Observações
Esta propriedade permite-lhe determinar a diferença entre os seguintes:
<item num="123"/> (IsEmptyElement é true).
<item num="123"></item> (IsEmptyElement é false, embora o conteúdo dos elementos seja vazio).
Um nó correspondente EndElement não é gerado para elementos vazios.
Se conteúdo por defeito foi adicionado a um elemento devido à validação do esquema, IsEmptyElement ainda devolve true. Não tem influência sobre o valor padrão ou não do elemento. Ou seja, IsEmptyElement simplesmente reporta se o elemento no documento de origem tinha ou não uma etiqueta de elemento final.