Name

XmlReader

Synopsis

This class is a simple reader for XML documents. XmlReader provides a non-cached, forward-only navigation through an XML data stream. It does not provide validation, nor does it expand general entities. Two derived classes provide these features: XmlTextReader and XmlValidatingReader.

The XmlReader class parses XML in a streaming-based approach (exemplified by the SAX specification). This means the XML parser presents “interesting pieces” (elements, attributes, namespace declarations, and so forth) in a linear order. Within XmlReader, this ordering of nodes is done using successive calls to the Read() method. An XmlReader is not positioned on a node at first — an initial call to Read() is required to move to the root node of a document. Subsequent calls to Read() move the reader sequentially through the nodes. The NodeType property tells you which type of node the reader is currently positioned on, returning values from the XmlNodeType enumeration. A special node-type value for XmlReader is EndElement. As Read() moves through the stream, it can be positioned on an element’s end tag after it has stepped through the element’s children. This is not a real node, in the DOM sense, but is required for XmlReader to parse XML data properly. The Skip() method steps through data node by node. A call to Skip() moves the reader to the next real node, disregarding the current node’s children.

XML documents can also be parsed in a tree-based approach, using the XmlDocument ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.