File: class/Extras/Code/XML/dombook.py

#####################################
# DOM gives the whole document to the
# application as a traversable object
#####################################

import pprint
import xml.dom.minidom
from xml.dom.minidom import Node

doc = xml.dom.minidom.parse("books.xml")          # load doc into object
                                                  # usually parsed up front
mapping = {}

for node in doc.getElementsByTagName("book"):     # traverse doc object
  isbn = node.getAttribute("isbn")                # via dom object api
  L = node.getElementsByTagName("title")
  for node2 in L:
    title = ""
    for node3 in node2.childNodes:
      if node3.nodeType == Node.TEXT_NODE:
        title += node3.data
    mapping[isbn] = title

# mapping now has the same value as in the SAX example
pprint.pprint(mapping)



[Home page] Books Code Blog Python Author Train Find ©M.Lutz