No, no. _ElementTree.replace actualy replaces subelement with element passed as second argument. All you need to is:
xml.text = new_text
By the way, http://lxml.de can be wery useful, it have a lot of information and code examples for such cases.