Udostępnij za pośrednictwem


XmlReader.IsEmptyElement Właściwość

Definicja

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżący węzeł jest pustym elementem (na przykład <MyElement/>).

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

Wartość właściwości

Boolean

true jeśli bieżący węzeł jest elementem (NodeType równym XmlNodeType.Element), który kończy się wartością />; w przeciwnym razie false.

Wyjątki

Metoda XmlReader została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W tym przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Przykłady

W poniższym przykładzie jest wyświetlana zawartość tekstowa każdego elementu.

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

W przykładzie użyto pliku , elems.xmljako danych wejściowych.

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

Uwagi

Ta właściwość umożliwia określenie różnicy między następującymi elementami:

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

<item num="123"></item> (IsEmptyElement to false, chociaż zawartość elementu jest pusta).

Odpowiedni EndElement węzeł nie jest generowany dla pustych elementów.

Jeśli domyślna zawartość została dodana do elementu z powodu weryfikacji schematu, IsEmptyElement nadal zwraca wartość true. Nie ma wpływu na to, czy element ma wartość domyślną. Innymi słowy, po prostu zgłasza, IsEmptyElement czy element w dokumencie źródłowym ma tag elementu końcowego.

Dotyczy