Name
XMLGenerator
Synopsis
class XMLGenerator(out
=sys.stdout,encoding
='iso-8859-1')
Subclasses
xml.sax.ContentHandler
and implements all that is
needed to reproduce the input XML document on the given file-like
object out
with the specified
encoding
. When you must generate an XML
document that is a small modification of the input one, you can
subclass XMLGenerator
, overriding methods and
delegating most of the work to
XMLGenerator
’s implementations of
the methods. For example, if all you need to do is rename some tags
according to a dictionary, XMLGenerator
makes it
quite simple, as shown in the following example:
import xml.sax, xml.sax.saxutils def tagrenamer(infile, outfile, renaming_dict): base = xml.sax.saxutils.XMLGenerator class Renamer(base): def rename(self, name): return renaming_dict.get(name, name) def startElement(self, name, attrs): base.startElement(self, self.rename(name), attrs) def endElement(self, name): base.endElement(self, self.rename(name)) xml.sax.parse(infile, Renamer(outfile))
Get Python in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.