【发布时间】:2018-06-06 16:57:21
【问题描述】:
我写了一个使用 minidom 读取 XML 文件的脚本:
from xml.dom.minidom import parse
for File in Data['FileList']:
Xml = parse(File)
#do something
运行良好,但有些人正在创建 XML,在 XML 中定义 UTF-8 编码并在标签中使用德语变音符号,所以我遇到了 xml.parsers.expat.ExpatError: not well-formed (invalid token)。
如果我在 XML 中手动更改为 encoding="ISO-8859-1" 它运行良好。
是否有更优雅的方式来更改编码,而不是编辑 XML 文件,例如告诉 minidom 使用不同于 XML 中定义的编码?
【问题讨论】:
-
当实际编码为 ISO-8859-1 时,创建带有 XML 声明
encoding="UTF-8"的 XML 文件是一个严重错误。我认为你应该告诉“伙计们”停止创建这些糟糕的 XML 文件。
标签: python xml python-3.x minidom