Прочитать на английском

Поделиться через


XmlTextReader.IsEmptyElement Свойство

Определение

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

public override bool IsEmptyElement { get; }

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

Boolean

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

Примеры

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

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    XmlTextReader reader = null;

    try
    {
       //Load the reader with the XML file.
       reader = new XmlTextReader("elems.xml");

       //Parse the XML and display the text content of each of the elements.
       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.
           }
         }
       }
     }

     finally
     {
        if (reader != null)
          reader.Close();
      }
  }
} // End class

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


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

Комментарии

Примечание

Начиная с версии платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода, чтобы воспользоваться преимуществами новых функциональных возможностей.

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

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

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

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

IsEmptyElement просто сообщает, был ли элемент в исходном документе тегом конечного элемента.

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

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

См. также раздел