我正在尝试使用Python的minidom处理XML,然后使用toprettyxml()输出结果。我遇到了两个问题:
这是代码和输出:
$ cat test.py
from xml.dom import minidom
dom = minidom.parse("test.xml")
print dom.toprettyxml()
$ cat test.xml
<?xml version="1.0" encoding="UTF-8"?>
<store>
<product>
<fruit>orange</fruit>
</product>
</store>
$ python test.py
<?xml version="1.0" ?>
<store>
<product>
<fruit>
orange
</fruit>
</product>
</store>
我可以使用strip()解决问题1以删除空行,我可以使用此链接中描述的hack(fixed_writexml)解决问题2:http://ronrothman.com/public/leftbraned/xml-dom-minidom-toprettyxml-and-silly-whitespace/,但我想知道是否有更好的解决方案黑客现在差不多3岁了。我愿意使用minidom以外的东西,但我想避免添加像lxml这样的外部软件包。