Довольно распечатать код XML и положить в переменную - PullRequest
0 голосов
/ 21 марта 2019

Я только что нашел этот метод в Stackoverflow для печати xml-кода:

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)

Но я бы хотел поместить то, что я печатаю, в переменную.Я попробовал самый простой способ:

data = Elementtree.dump(root)
print("==>", data)

Но он возвращает меня "==> Нет" Это похоже на: ElementTree.dump (root) печатает, несмотря ни на что.

Спасибо за помощь

1 Ответ

0 голосов
/ 21 марта 2019
data = Elementtree.tostring(root)
print("==>", data)
...