Eli*_*ght 11 python lxml pretty-print
我有一个XML文档,我正在使用它 lxml.etree.tostring
print etree.tostring(doc, pretty_print=True)
Run Code Online (Sandbox Code Playgroud)
默认的缩进级别是2个空格,我想将其更改为4个空格.在函数中没有任何争论tostring; 有没有办法用lxml轻松完成这项工作?
小智 7
从 4.5 版开始,您可以使用indent()函数设置缩进大小。
etree.indent(root, space=" ")
print(etree.tostring(root))
Run Code Online (Sandbox Code Playgroud)
正如在这个帖子中所说,没有真正的方法来改变lxml.etree.tostring漂亮的印刷品的缩进.
但是你可以:
码:
def indent(elem, level=0):
i = "\n" + level*" "
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 elem in elem:
indent(elem, level+1)
if not elem.tail or not elem.tail.strip():
elem.tail = i
else:
if level and (not elem.tail or not elem.tail.strip()):
elem.tail = i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5258 次 |
| 最近记录: |