XPathDocument
You
might not want to load a complete XmlDocument
just
to use XPath. An XmlDocument
brings with it all
the DOM overhead, allowing you to not only read but to write to the
XML node tree. For read-only access, there is the
XPathDocument
class. Like
XmlNode
, it implements
IXPathNavigable
; but unlike
XmlNode
, it represents a read-only view of the XML
document.
XPathDocument
does not maintain node identity like
XmlDocument
, nor does it do any rule checking
required by the DOM. It is optimized for XPath queries and XSLT
processing.
Tip
Starting to get the idea that this stuff is all intertwined? XSLT is covered in Chapter 7.
XPathDocument
’s
sole purpose is to serve as an implementation of
IXPathNavigable
. It has constructors that take a
Stream
, a URL, a TextReader
,
and an XmlReader
, respectively, and its only other
method is CreateNavigator( )
.
An
XPathNodeIterator
obtained from an
XPathDocument
does not implement
IHasXmlNode
. Each element of the
XPathNodeIterator
is actually an
XPathDocumentNavigator
, and does not have a
GetNode( )
method. Remember that the
XPathDocument
is not an
XmlDocument
; that is, it does not implement the
DOM specification, so it is not navigable as a tree of
XmlNode
instances. If it’s
important to you that you be able to access the nodes using DOM, use
XmlDocument.CreateNavigator( )
.
XPathDocumentNavigator
does have some properties and methods with which you can access
node-specific information. XPathDocumentNavigator
implements the ...
Get .NET & XML 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.