En Fri, 21 Sep 2007 11:49:53 -0300, Tim Arnold <[EMAIL PROTECTED]>  
escribi�:

> Hi, I'm using elementtree and elementtidy to work with some HTML files.  
> For
> some of these files I need to enclose the body content in a new div tag,
> like this:
> <body>
>   <div class="remapped">
>    original contents...
>   </div>
> </body>
>
> I figure there must be a way to do it by creating a 'div' SubElement to  
> the
> 'body' tag and somehow copying the rest of the tree under that  
> SubElement,
> but it's beyond my comprehension.

import xml.etree.ElementTree as ET
source = """<html><head><title>Test</title></head><body>
  original contents... 2&amp;3 <a href="hello/world">som&#101; text</a>
  <p>Another paragraph</p>
</body></html>"""
tree = ET.XML(source)
body = tree.find("body")
newdiv = ET.Element('div', {'class':'remapped'})
newdiv.append(body)
bodyidx = tree.getchildren().index(body)
tree[bodyidx]=newdiv
ET.dump(tree)

-- 
Gabriel Genellina

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to