I just found this method on Stackoverflow to print an xml code :
from xml.etree import ElementTree
def indent(elem, level=0):
i = "\n" + level*" "
j = "\n" + (level-1)*" "
if len(elem):
if not elem.text or not elem.text.strip():
elem.text = i + " "
if not elem.tail or not elem.tail.strip():
elem.tail = i
for subelem in elem:
indent(subelem, level+1)
if not elem.tail or not elem.tail.strip():
elem.tail = j
else:
if level and (not elem.tail or not elem.tail.strip()):
elem.tail = j
return elem
root = ElementTree.parse('/tmp/xmlfile').getroot()
indent(root)
ElementTree.dump(root)
But i would like to put what i print in a variable. I tried the simplest way :
data = Elementtree.dump(root)
print("==>", data)
But it returns me "==> None" It's like : ElementTree.dump(root) is printing no matter what.
Thanks for helping
data = Elementtree.tostring(root)
print("==>", data)