Einfach
Beispiel für Python 2 und 3 ( Codierungsparameter muss utf8 sein ):
import xml.etree.ElementTree as ElementTree
tree = ElementTree.ElementTree(ElementTree.fromstring(
root = tree.getroot()
print(ElementTree.tostring(root, encoding=
Ab Python 3.8 gibt es den Parameter xml_declaration für dieses Zeug:
Neu in Version 3.8: Die Parameter xml_declaration und default_namespace.
xml.etree.ElementTree.tostring (Element, encoding = "us-ascii", method = "xml", *, xml_declaration = Keine, default_namespace = Keine, short_empty_elements = True) Erzeugt eine Zeichenfolgendarstellung eines XML-Elements, einschließlich aller Unterelemente . Element ist eine Elementinstanz. Codierung 1 ist die Ausgabecodierung (Standard ist US-ASCII). Verwenden Sie encoding = "unicode", um eine Unicode-Zeichenfolge zu generieren (andernfalls wird ein Bytestring generiert). Methode ist entweder "xml", "html" oder "text" (Standard ist "xml"). xml_declaration, default_namespace und short_empty_elements haben dieselbe Bedeutung wie in ElementTree.write (). Gibt eine (optional) codierte Zeichenfolge zurück, die die XML-Daten enthält.
Beispiel für Python 3.8 und höher:
import xml.etree.ElementTree as ElementTree
tree = ElementTree.ElementTree(ElementTree.fromstring('<xml><test>123</test></xml>'))
root = tree.getroot()
print(ElementTree.tostring(root, encoding='unicode', method='xml', xml_declaration=True))