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 ...