使用python mindom

时间:2018-05-29 08:37:38

标签: python xml python-3.x minidom

我使用minidom编写了一个读取XML文件的脚本:

from xml.dom.minidom import parse
for File in Data['FileList']:
    Xml = parse(File)
#do something

运行良好,但有些人正在创建XML,在XML中定义UTF-8编码并在标签中使用德语Umlaute,因此我遇到了xml.parsers.expat.ExpatError:格式不正确(无效令牌)。

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

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

1 个答案:

答案 0 :(得分:1)

我建议你这个解决方案:

在解析文件之前,正常打开它并用这一行替换与XML标题对应的第一行:

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

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

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