2008年12月5日星期五

ElementTree如何输出XML的版本

默认的lxml.etree是用ascii编码,在输出的XML文件中没有,如果需要在输出的XML文件中包含,需要在tree.write()函数中设置参数。例如:

import lxml.etree as et
tree = et.parse('sample-ns.xml')
tree = tree.write('test.xml', encoding='utf-8', xml_declaration=True)

原始文件是:

<root xmlns='namespace'>
<element key='value'>text</element>
<element>text</element>tail
<empty-element/>
</root>


输出的文件是:

<?xml version='1.0' encoding='utf-8'?>
<root xmlns="namespace">
<element key="value">text</element>
<element>text</element>tail
<empty-element/>
</root>

没有评论: