ElementTree写法

ElementTree write method

我正在尝试将一些 XML 写入磁盘:

import xml.etree.ElementTree as ET

root = ET.Element("root")
doc = ET.SubElement(root, "doc")

ET.SubElement(doc, "field1", name="blah").text = "some value1"
ET.SubElement(doc, "field2", name="asdfasd").text = "some vlaue2"

ET.dump(root)
ET.write("filename.xml")

但是我收到错误 AttributeError: 'module' object has no attribute 'write'

我不知道哪个模块有 write 属性。我在网上看到的所有示例都显示该属性属于tree,但我不知道如何定义tree。一位消息人士这样做:

from xml.etree.ElementTree import ElementTree
tree = ElementTree()
tree.parse("index.xhtml")
tree.write("output.xhtml")

但我不是在读取和解析文件。希望得到一些帮助,谢谢。

你需要

tree = ET.ElementTree(root)
tree.write("filename.xml")

您也可以使用

open('filename.xml', 'w').write(ET.dump(root))