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, Second Edition 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.