Python pretty XML printer for XML string
我用python生成了一个又长又难看的XML字符串,我需要通过漂亮的打印机过滤它以使其看起来更好。
我找到了这篇关于python-pretty打印机的文章,但是我必须将XML字符串写到一个文件中,以便重新读取以使用工具,如果可能的话,我希望避免使用这些工具。
在字符串上工作的python-pretty工具有哪些?
下面介绍如何从文本字符串解析为LXML结构化数据类型。
Python2:
1 2 3 4 | from lxml import etree xml_str ="<parent><child>text</child><child>other text</child></parent>" root = etree.fromstring(xml_str) print etree.tostring(root, pretty_print=True) |
Python3:
1 2 3 4 | from lxml import etree xml_str ="<parent><child>text</child><child>other text</child></parent>" root = etree.fromstring(xml_str) print(etree.tostring(root, pretty_print=True).decode()) |
。
输出:
1 2 3 4 | <parent> <child>text</child> <child>other text</child> </parent> |
我使用LXML库,在那里它非常简单
1 | >>> print(etree.tostring(root, pretty_print=True)) |
您可以使用任何
如果您使用的是pyxml中的dom,那么
1 2 | import xml.dom.ext xml.dom.ext.PrettyPrint(doc) |
号
除非指定备用流,否则将打印到标准输出。
http://pyxml.sourceforge.net/topics/howto/node19.html
要直接使用minidom,您需要使用
http://docs.python.org/library/xml.dom.minidom.html xml.dom.minidom.node.toprettyxml