XmlReader.IsEmptyElement tells whether the current node is an empty element (
Imports System Imports System.IO Imports System.Xml Public Class Sample Public Shared Sub Main() Dim doc As New XmlDocument() doc.Load("books.xml") Dim nodeReader As New XmlNodeReader(doc) Dim settings As New XmlReaderSettings() settings.ValidationType = ValidationType.Schema settings.Schemas.Add("urn:bookstore-schema", "books.xsd") Dim reader As XmlReader = XmlReader.Create(nodeReader, settings) 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 End Sub End Class