python - 添加 "encoding="utf-8"?> 到 xml 文件

标签 python python-3.x xml

我正在创建一个 xml文件,我只希望它应该在顶部显示这个

<?xml version="1.0" encoding="utf-8"?>

现在它只说

<?xml version="1.0" ?>

这就是我创建它的方式。

xmlstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent="   ")
with open("Test.xml", "w", encoding='utf-8') as f:
    f.write(xmlstr)

最佳答案

添加encoding参数即可:

xmlstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent="   ", encoding="utf-8")

将保存文件中的“w”改为“wb”。

并且,如评论中所建议的那样,将虚假解析丢弃回 XML:

from lxml import etree

xml_object = etree.tostring(root,
                            pretty_print=True,
                            xml_declaration=True,
                            encoding='UTF-8')

然后将xml_object写入文件即可。

关于python - 添加 "encoding="utf-8"?> 到 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68921881/

相关文章:

python - 在 python 单元测试中初始化记录器

python - 如果不存在,则创建字典键的简写方法

Python Pandas - 非连续时间序列?

SDK 8 上看不到 Android Eclipse 布局

java - Android 按钮宽度为可用宽度的一半 - 布局

python - 字典中特定键的总和值

python - Elastic Beanstalk CLI Windows - 无法创建进程错误?

python - 如何检测python中的当前键盘语言

python - 从文件创建列表中的列表

java - 使用 SAX 解析器解析大型 XML 文件(跳过一些行/标签)