网上有很多关于如何使用python创建xml的例子。一个例子是:
import elementtree.ElementTree as ET
root = ET.Element("root")
doc = ET.SubElement(root, "doc")
field1 = ET.SubElement(doc, "field1")
field1.set("name", "blah")
field1.text = "some value1"
field2 = ET.SubElement(doc, "field2")
field2.set("name", "asdfasd")
field2.text = "some vlaue2"
tree = ET.ElementTree(root)
tree.write("filename.xml")
但这会创建一个以
开头的文档<root>
而不是
<?xml version="xxx"?>
如何添加
<?xml version="xxx"?>
位到XML?
谢谢, 卡洛斯。
答案 0 :(得分:2)
指定xml_declaration
和encoding
:
tree.write("filename.xml", xml_declaration=True, encoding='utf-8')
根据ElementTree.write
documentation:
write(file, encoding="us-ascii", xml_declaration=None, default_namespace=None, method="xml")
将元素树作为XML写入文件。 file是文件名,或者是 打开文件对象进行写入。 encoding是输出编码 (默认为US-ASCII)。 xml_declaration 控制是否有XML声明 应该添加到文件中。永远使用False,永远使用True 仅适用于US-ASCII或UTF-8(默认为None)。 default_namespace设置默认的XML命名空间(对于“xmlns”)。方法 是“xml”,“html”或“text”(默认为“xml”)。返回一个 编码的字符串。