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
Значение , false
если текущий узел является элементом (NodeTypeравноXmlNodeType.Element
), который заканчивается />
; в противном случае .
Метод 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
is true
).
<item num="123"></item>
(IsEmptyElement
имеет значение false
, хотя содержимое элемента пусто).
Соответствующий EndElement
узел не создается для пустых элементов.
Если содержимое по умолчанию добавлено в элемент из-за проверки схемы, IsEmptyElement
возвращается true
. Он не влияет на то, имеет ли элемент значение по умолчанию. Другими словами, просто сообщает, IsEmptyElement
был ли элемент в исходном документе тегом конечного элемента.
Продукт | Версии |
---|---|
.NET | Core 1.0, Core 1.1, 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 | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |