X-DOM Overview
Figure 1-11 shows the core X-DOM types.
XElement is the most frequently used
of these. XObject is the root of the
inheritance hierarchy; XElement and XDocument are roots of the
containership hierarchy.

Figure 1-11. Core X-DOM types
Figure 1-12 shows the X-DOM tree created from the following code:
string xml = @"<customer id='123' status='archived'> <firstname>Joe</firstname> <lastname>Bloggs<!--nice name -></lastname> </customer>"; XElement customer = XElement.Parse (xml);

Figure 1-12. A simple X-DOM tree
XObject is the abstract base
class for all XML content. It defines a link to the Parent element in the containership tree as
well as an optional XDocument.
XNode is the base class for
most XML content, excluding attributes. The distinguishing feature of
XNode is that it can sit in an
ordered collection of mixed-type XNode’s. For instance, consider the following
XML:
<data>Hello world<subelement1/><!--comment--><subelement2/></data>
Within the parent element <data>, there’s first an XText node (Helloworld ), then an XElement node, then an XComment node, and then a second XElement node. In contrast, an XAttribute will tolerate only other XAttribute’s as peers.
Although an XNode can access
its parent XElement, it has no
concept of child nodes; this is the job of its subclass ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access