子要素をもつ XML のテキストを lxml で消したい

 以下のような XML があったとする。

<document>
<deleteme>この要素をタグごと消したい。<wac/>
あああああ </deleteme>
</document>


 ここで、 要素のテキストを消したい。

>>> xml = open('sample.xml', 'rb').read()
>>> root = lxml.html.fromstring(xml)
>>> elements = root.xpath('//deleteme')
>>> for e in elements:
...     del e
...
>>> print root.text_content()
この要素をタグごと消したい。
あああああ
>>> for e in elements:
...     e.text = ''
...
>>> print root.text_content()

あああああ
>>> root = lxml.html.fromstring(xml)
>>> elements = root.xpath('//deleteme')
>>> for e in elements:
...     e.drop_tree()
...
>>> print root.text_content()

>>>

 drop_tree() を使えばいいらしい。
 参考:
  Gentleちゃれんじ Tips -lxmlでhtmlを処理する-


追記:
 どうやら text は子要素のタグまでとかしか取ってくれないらしい。

<document>
<outer>in outer 1<inner>in inner</inner>in outer 2</outer>
</document>
>>> xml = open('sample.xml', 'rb').read()
>>> root = lxml.html.fromstring(xml)
>>> print e.text_content()
in outer 1in innerin outer 2
>>> elements = root.xpath('//outer')
>>> for e in elements:
...     print e.text
...
in outer 1
>>> for e in elements:
...     print e.text_content()
...
in outer 1in innerin outer 2

 うーん…