Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XmlReader - Self-closing element does not fire a EndElement event?

I am using XmlReader in .NET to parse an XML file using a loop:

while (xml.Read()) {    switch xml.NodeType {      case XmlNodeType.Element:       //Do something      case XmlNodeType.Text:       //Do something      case XmlNodeType.EndElement:         //Do something    } } 

I was wondering if it was normal that the following XML code does not produce some EndElement nodes? Please note the missing space before the /> but I don't think that's the problem.

<date month="November" year="2001"/> <zone name="xml"/> 

Is there a different NodeType or property to indicate a self-closing element?

like image 857
Vincent Avatar asked Oct 27 '08 20:10

Vincent


1 Answers

No, you check it by looking at XmlReader.IsEmptyElement.

In the docs for that property:

A corresponding EndElement node is not generated for empty elements.

like image 136
Jon Skeet Avatar answered Oct 05 '22 08:10

Jon Skeet