XmlReader.IsEmptyElement Property
Microsoft Silverlight will reach end of support after October 2021. Learn more.
When overridden in a derived class, gets a value indicating whether the current node is an empty element (for example, <MyElement/>).
Namespace: System.Xml
Assembly: System.Xml (in System.Xml.dll)
Syntax
'Declaration
Public MustOverride ReadOnly Property IsEmptyElement As Boolean
public abstract bool IsEmptyElement { get; }
Property Value
Type: System.Boolean
true if the current node is an element (NodeType equals XmlNodeType.Element) that ends with />; otherwise, false.
Remarks
This property enables you to determine the difference between the following:
<item num="123"/> (IsEmptyElement is true).
<item num="123"></item> (IsEmptyElement is false, although element content is empty).
A corresponding EndElement node is not generated for empty elements.
Examples
Dim output As New StringBuilder()
Dim xmlString As String = _
"<book>" & _
"<title>Pride And Prejudice</title>" & _
"<price>19.95</price>" & _
"<misc/>" & _
"</book>"
' Create an XmlReader
Using reader As XmlReader = XmlReader.Create(New StringReader(xmlString))
While reader.Read()
Select Case reader.NodeType
Case XmlNodeType.Element
If reader.IsEmptyElement Then
output.AppendLine(Environment.NewLine + "<" + reader.Name + "/>")
Else
output.Append("<" + reader.Name + ">")
End If
Case XmlNodeType.Text
output.Append(reader.Value)
Case XmlNodeType.Document
Case XmlNodeType.EndElement
output.AppendLine("</" + reader.Name + ">")
End Select
End While
End Using
OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
String xmlString =
@"<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>";
// Create an XmlReader
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
if (reader.IsEmptyElement)
output.AppendLine(Environment.NewLine + "<" + reader.Name + "/>");
else
output.Append("<" + reader.Name + ">");
break;
case XmlNodeType.Text:
output.Append(reader.Value);
break;
case XmlNodeType.Document:
break;
case XmlNodeType.EndElement:
output.AppendLine("</" + reader.Name + ">");
break;
}
}
}
OutputTextBlock.Text = output.ToString();
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also