The definition of the DOM API for Python is given as part of the
xml.dom module documentation. This section lists the
differences between the API and xml.dom.minidom.
Break internal references within the DOM so that it will be garbage
collected on versions of Python without cyclic GC. Even when cyclic
GC is available, using this can make large amounts of memory available
sooner, so calling this on DOM objects as soon as they are no longer
needed is good practice. This only needs to be called on the
Document object, but may be called on child nodes to discard
children of that node.
Write XML to the writer object. The writer should have a
write() method which matches that of the file object
interface. The indent parameter is the indentation of the current
node. The addindent parameter is the incremental indentation to use
for subnodes of the current one. The newl parameter specifies the
string to use to terminate newlines.
Changed in version 2.1:
The optional keyword parameters
indent, addindent, and newl were added to support pretty
Changed in version 2.3:
For the Document node, an additional keyword
argument encoding can be used to specify the encoding field of the XML
Return the XML that the DOM represents as a string.
With no argument, the XML header does not specify an encoding, and the
result is Unicode string if the default encoding cannot represent all
characters in the document. Encoding this string in an encoding other
than UTF-8 is likely incorrect, since UTF-8 is the default encoding of
With an explicit encoding argument, the result is a byte string
in the specified encoding. It is recommended that this argument is
always specified. To avoid UnicodeError exceptions in case of
unrepresentable text data, the encoding argument should be specified
Changed in version 2.3:
the encoding argument was introduced.
Return a pretty-printed version of the document. indent specifies
the indentation string and defaults to a tabulator; newl specifies
the string emitted at the end of each line and defaults to \n.
New in version 2.1.Changed in version 2.3:
the encoding argument; see toxml().
The following standard DOM methods have special considerations with
Although this method was present in the version of
xml.dom.minidom packaged with Python 2.0, it was seriously
broken. This has been corrected for subsequent releases.