If you are working with XML documents, the parsed data structure
returned by the XML parser (xml.el) may be enough for you: Lists of
lists, symbols, strings, plus a number of accessor functions.

If you want a more elaborate data structure to work with your XML
document, you can create a document object model (DOM) from the XML
data structure using doom.el.

You can create a DOM from XML using `doom-make-document-from-xml'
with the input from `libxml-parse-xml-region'. See function documentation
below for an example

This library is called doom instead of dom because Emacs now comes
with its own library called dom which does something slightly
different.

; On Interfaces and Classes

The elisp DOM implementation uses the doom-node structure to store all
attributes.  The various interfaces consist of sets of functions to
manipulate these doom-nodes.  The functions of a certain interface
share the same prefix.