使用 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
我写了一个脚本,使用 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