python - xml.etree.ElementTree.Element' 对象没有属性 'write'
问题描述
我想读取一个 XML 字符串,对其进行编辑并将其保存为 XML 文件。
但是,当我这样做时,我在标题中得到了提到的错误.write()
我发现当你使用它读取一个 XML 字符串时,ElementTree.fromstring(string)
它会创建一个ElementTree.Element
而不是一个ElementTree
本身。Element 没有 write 方法,但 ElementTree 有。
如何将元素写入 XML 文件?或者如何创建一个 ElementTree 并将我的元素添加到其中然后使用该.write
方法?
解决方案
我发现当你使用它读取一个 xml 字符串时,
ElementTree.fromstring(string)
它实际上会创建一个ElementTree.Element
而不是一个ElementTree
本身。
是的,您得到了顶级元素(也称为“文档元素”)。
元素没有
write
方法,但有ElementTree
。
构造ElementTree
函数签名是这样的:
class xml.etree.ElementTree.ElementTree(element=None, file=None)
因此,它非常简单:
import xml.etree.ElementTree as ET
doc = ET.fromstring("<test>test öäü</test>")
tree = ET.ElementTree(doc)
tree.write("test.xml", encoding="utf-8")
编写 XML 文件时始终应指定编码。大多数时候,UTF-8 是最佳选择。
推荐阅读
- php - 如何在 PHP 中重置数组键
- api - 在为 Checkmarx API 生成访问令牌时需要帮助
- php - PHP将书籍数组排序为位置数组
- azure-data-factory - Azure 数据工厂映射 ADFv2
- azure - 如何让 changefeed 侦听器的多个实例获得相同的消息:Java
- google-cloud-platform - 无法在 Google Cloud Platform 中保存 API 和服务的 Oauth 设置屏幕
- mysql - SQL:为嵌套 SELECT 创建全局别名以在另一个嵌套 SELECT 中使用
- python - 在图形上打印拟合详细信息并绘制多项式拟合
- c# - 自动点击器计算
- joi - 条件未按预期工作时的 JOI 验证