我在这里找到了解决方案:http : //pre.activestate.com/recipes/576750-pretty-print-
xml/
然后,我将其修改为采用字符串而不是文件。
from xml.dom.minidom import parseStringpretty_print = lambda data: 'n'.join([line for line in parseString(data).toprettyxml(indent=' '*2).split('n') if line.strip()])输出:
<?xml version="1.0" ?><testsuite errors="0" failures="3" name="TestSet_2013-01-23 14_28_00.510935" skip="0" tests="3" time="142.695" timestamp="2013-01-23 14:28:00.515460"> <testcase classname="TC test" name="t1" status="Failed" time="27.013"/> <testcase classname="TC test" name="t2" status="Failed" time="78.325"/> <testcase classname="TC test" name="t3" status="Failed" time="37.357"/></testsuite>
这可以帮助您更轻松地将其应用到函数中:
def new_prettify(): reparsed = parseString(CONTENT) print 'n'.join([line for line in reparsed.toprettyxml(indent=' '*2).split('n') if line.strip()])


