title: XML writing tools for Python
body: <p>I'm currently trying ElementTree and it looks fine, it escapes HTML entities and so on and so forth. Am I missing something truly wonderful I haven't heard of?</p>
  
  <p>This is similar to what I'm actually doing:</p>
  
  <pre><code>import xml.etree.ElementTree as ET
  root = ET.Element('html')
  head = ET.SubElement(root,'head')
  script = ET.SubElement(head,'script')
  script.set('type','text/javascript')
  script.text = "var a = 'I love &amp;aacute; letters'"
  body = ET.SubElement(root,'body')
  h1 = ET.SubElement(body,'h1')
  h1.text = "And I like the fact that 3 &gt; 1"
  tree = ET.ElementTree(root)
  tree.write('foo.xhtml')
  
  # more foo.xhtml
  &lt;html&gt;&lt;head&gt;&lt;script type="text/javascript"&gt;var a = 'I love &amp;amp;aacute;
  letters'&lt;/script&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;And I like the fact that 3 &amp;gt; 1&lt;/h1&gt;
  &lt;/body&gt;&lt;/html&gt;
  </code></pre>