0

网络上有很多关于如何使用 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?

谢谢,卡洛斯。

4

1 回答 1

2

指定xml_declarationencoding

tree.write("filename.xml", xml_declaration=True, encoding='utf-8')

根据ElementTree.write文件

write(file, encoding="us-ascii", xml_declaration=None, default_namespace=None, method="xml")

将元素树以 XML 格式写入文件。file 是文件名,或为写入而打开的文件对象。encoding 是输出编码(默认为 US-ASCII)。xml_declaration控制是否应将 XML 声明添加到文件中。使用 False 表示从不,True 表示永远,None 仅在不是 US-ASCII 或 UTF-8 时使用(默认为 None)。default_namespace 设置默认的 XML 命名空间(用于“xmlns”)。方法是“xml”、“html”或“text”(默认为“xml”)。返回一个编码的字符串。

于 2013-10-28T07:46:05.253 回答