XmlReader.IsEmptyElement Właściwość

Definicja

Gdy jest zastępowany w klasie pochodnej, pobiera wartość wskazującą, czy bieżący węzeł jest pustym elementem (na przykład <element/>).When overridden in a derived class, gets a value indicating whether the current node is an empty element (for example, <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

true, jeśli bieżącym węzłem jest element (NodeType Equals XmlNodeType.Element) kończący się na />; w przeciwnym razie false.true if the current node is an element (NodeType equals XmlNodeType.Element) that ends with />; otherwise, false.

Wyjątki

Metoda XmlReader została wywołana przed ukończeniem poprzedniej operacji asynchronicznej.An XmlReader method was called before a previous asynchronous operation finished. W takim przypadku InvalidOperationException jest generowany z komunikatem "asynchroniczna operacja jest już w toku".In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Przykłady

Poniższy przykład wyświetla zawartość tekstową każdego elementu.The following example displays the text content of each element.

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 jest użyty plik elems.xmljako dane wejściowe.The example uses the file, elems.xml, as input.

<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:This property enables you to determine the difference between the following:

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

<item num="123"></item> (IsEmptyElement jest false, chociaż zawartość elementu jest pusta).<item num="123"></item> (IsEmptyElement is false, although element content is empty).

Odpowiedni węzeł EndElement nie jest generowany dla pustych elementów.A corresponding EndElement node is not generated for empty elements.

Jeśli domyślna zawartość została dodana do elementu z powodu walidacji schematu, IsEmptyElement nadal zwraca true.If default content has been added to an element due to schema validation, IsEmptyElement still returns true. Nie ma znaczenia, czy element ma wartość domyślną.It has no bearing on whether or not the element has a default value. Innymi słowy IsEmptyElement po prostu raportuje, czy element w dokumencie źródłowym miał tag elementu końcowego.In other words, IsEmptyElement simply reports whether or not the element in the source document had an end element tag.

Dotyczy