XmlReader.IsEmptyElement Свойство

Определение

При переопределении в производном классе получает значение, указывающее, является ли текущий узел пустым элементом (например, <MyElement/>).

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

Значение свойства

true Значение , если текущий узел является элементом (NodeType равно XmlNodeType.Element) и заканчивается />; в противном случае false.

Исключения

Метод XmlReader был вызван до завершения предыдущей асинхронной операции. В этом случае InvalidOperationException создается сообщение "Асинхронная операция уже выполняется".

Примеры

В следующем примере отображается текстовое содержимое каждого элемента.

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

В этом примере файл elems.xmlиспользуется в качестве входных данных.

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

Комментарии

Это свойство позволяет определить разницу между следующими:

<item num="123"/> (IsEmptyElement имеет trueзначение ).

<item num="123"></item>( имеет IsEmptyElementзначение ,false хотя содержимое элемента пусто).

Соответствующий EndElement узел не создается для пустых элементов.

Если содержимое по умолчанию было добавлено в элемент из-за проверки схемы, IsEmptyElement возвращается true. Он не имеет никакого отношения к значению по умолчанию. Другими словами, просто сообщает, IsEmptyElement был ли элемент в исходном документе тегом конечного элемента.

Применяется к