在处理xml文件时,对于自己新增加的节点,直接write所有element都是挤在一行,和我们平时看到的有缩进、层级分明的xml文件不一样,最近找到一段小程序,专门用于格式化处理xml文件使其具有层级分明的缩进,代码如下:
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
elem为一个element 节点,如果是一个xml的root element,那么处理的就是整个xml文件,如果是一个子节点,那么就是处理的该节点以内的节点
博客介绍在处理XML文件时,新增节点直接write会使所有element挤在一行。找到一段小程序,可对XML文件进行格式化处理,使其具有层级分明的缩进。elem为element节点,处理范围取决于其是根节点还是子节点。
584

被折叠的 条评论
为什么被折叠?



