漂亮的打印xml代码并放入一个变量

问题描述 投票:0回答:1

我刚刚在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)无论如何打印。

谢谢你的帮助

python xml parsing elementtree pretty-print
1个回答
0
投票
data = Elementtree.tostring(root)
print("==>", data)
© www.soinside.com 2019 - 2024. All rights reserved.