Working with the DOM Tree#
DOM Level 2 is a W3C Recommendation for XML interfaces that maps the constituents of an XML document to a tree structure. The specification of DOM Level 2 can be found at http://www.w3.org/DOM/ .
Introduction to DOM#
DOM provides an interface to access and change the content and structure of an XML file. It makes a hierarchical view of the document (a tree view). Thus – in contrast to the streaming API provided by
QXmlStreamReader – an object model of the document is resident in memory after parsing which makes manipulation easy.
All DOM nodes in the document tree are subclasses of
QDomNode . The document itself is represented as a
Here are the available node classes and their potential child classes:
QDomNotation: No children
QDomNamedNodeMap two collection classes are provided:
QDomNodeList is a list of nodes, and
QDomNamedNodeMap is used to handle unordered sets of nodes (often used for attributes).
QDomImplementation class allows the user to query features of the DOM implementation.
To get started please refer to the
QDomDocument documentation. You might also want to take a look at the DOM Bookmarks Example , which illustrates how to read and write an XML bookmark file (XBEL) using DOM.