import lxml.etree as ET
content = """<root>
   She
   <opt>went</opt>
   <opt>didn't go</opt>
   to school.
</root>"""
root = ET.fromstring(content)
root.tag = 'sentence'
newroot = ET.Element('root')
newroot.insert(0, root)
print(ET.tostring(newroot))
How to wrap an element (its text and subelements) in Python 3?