使用 python mindom 以不同的编码读取 XML

reading XML with different encoding using python mindom

我写了一个脚本,使用 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:格式不正确(无效标记)。

如果我在 XML 中手动更改为 encoding="ISO-8859-1" 它运行正常。

是否有更优雅的方式来更改编码,而不是编辑 XML 文件,例如告诉 minidom 使用不同于 XML?

中定义的编码

我建议你这个解决方案:

在解析文件之前,正常打开文件并将其对应于 XML header 的第一行替换为以下行:

<?xml version="1.0" encoding="ISO-8859-1"?>

然后保存文件并将其传递给 minidom.parse() 函数。

这可能会帮助您替换每个文件中的第一行:Search and replace a line in a file in Python