That is, all text and subtags, without the tag of an element itself?
Having
blah bleh blih
I
This is the solution I ended up using:
def element_to_string(element): s = element.text or "" for sub_element in element: s += etree.tostring(sub_element) s += element.tail return s