when serializing elementtrees with weird namespaces like {$stuff}, the generated xml is not valid: Python 2.5.1 (r251:54863, Mar 7 2008, 04:10:12) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 IDLE 1.2.1 ==== No Subprocess ==== >>> from xml.etree import ElementTree as et >>> e = et.fromstring('<prefix:localname xmlns:prefix="${stuff}"/>') >>> e.tag '{${stuff}}localname' >>> t = et.ElementTree(e) >>> from StringIO import StringIO >>> f = StringIO() >>> t.write(f) >>> f.seek(0) >>> print f.read() <ns0:}localname xmlns:ns0="${stuff" />