我目前正在python脚本中使用xml.dom模块的toprettyxml()函数,我对换行有一些麻烦.如果不使用newl参数或者如果我使用toprettyxml(newl ='\n'),它实际上会显示几行而不是一行.
例如
f = open(filename, 'w')
f.write(dom1.toprettyxml(encoding='UTF-8'))
f.close()
Run Code Online (Sandbox Code Playgroud)
显示:
<params>
<param name="Level" value="#LEVEL#"/>
<param name="Code" value="281"/>
</params>
Run Code Online (Sandbox Code Playgroud)
有谁知道问题的来源以及如何使用它?仅供参考我使用的是Python 2.6.1
xve*_*ges 10
toprettyxml()太可怕了.这不是Windows和'\ r \n'的问题.尝试任何字符串作为newl参数显示添加了太多行.不仅如此,还增加了其他空白(当机器读取xml时可能会导致问题).
http://ronrothman.com/public/leftbraned/xml-dom-minidom-toprettyxml-and-silly-whitespace提供了一些解决方法
我发现了另一个很棒的解
f = open(filename, 'w')
dom_string = dom1.toprettyxml(encoding='UTF-8')
dom_string = os.linesep.join([s for s in dom_string.splitlines() if s.strip()])
f.write(dom_string)
f.close()
Run Code Online (Sandbox Code Playgroud)
上面的解决方案基本上删除了由toprettyxml()生成的dom_string中不需要的换行符.
输入取自 - > 什么是快速单行从python字符串中删除空行?
| 归档时间: |
|
| 查看次数: |
11114 次 |
| 最近记录: |