-
from xml.minidom import parseString
from xml.etree import ElementTree
def prettyPrint(element):
txt = ElementTree.tostring(element)
print minidom.parseString(txt).toprettyxml()
-
@yk, нп. но грамотным выходом было бы добавление своего пакета в site-packages, где унаследоваться от ElementTree и добавить 1 метод toprettyxml. В таком случае, вы во всех проектах сможете использовать удобный для вас вызов и оставите чужие библиотеки нетронутыми, что поможет при переносе кода на другой компьютер.
-
вот тоже решение)
def indent(elem, level=0):
i = "\n" + level*" "
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 elem in elem:
indent(elem, level+1)
if not elem.tail or not elem.tail.strip():
elem.tail = i
else:
if level and (not elem.tail or not elem.tail.strip()):
elem.tail = i/7 · Reply