最近在开发一个安卓的文本资源的编辑器,使用的是Python中的lxml,在添加新node的时候遇到排版问题,先附上代码:
def xmladdstring(path, key, content):
root = xmlparse(path)
node = etree.Element('string', {'name': key})
node.text = content
root.getroot().append(node)
root.write(path, pretty_print=True, encoding='utf-8')
但是最后添加的元素并没有换行,也就是没有排版,即使pretty_print=True也是无效的。
最终在
http://lxml.de/FAQ.html#why-doesn-t-the-pretty-print-option-reformat-my-xml-output
找到答案
>>> parser = etree