我正在使用ElementTree.parse
函数解析用utf-16
编码的xml文件。
当文件包含一些格式不正确的字符(如♀, ♂
等)并且出现错误“xml.parsers.expat.ExpatError: not well-formed (invalid token)
”时,程序将崩溃。
如何避免此错误并解决此问题?我怎么能忽略这些格式不好的字符呢?谢谢!以下是我的代码:
tree = ElementTree()
root = tree.parse(xml_file)
xml_file是以UTF-16格式编码的文件。 错误会指出格式不正确的字符的行号和列号。
因为
xml.parsers.expat.ParserCreate
只支持四种编码,所以我会全部尝试。这些编码是:UTF-8
、UTF-16
、ISO-8859-1
(Latin1
)和ASCII
。现在可以使用如下编码运行
ElementTree.parse
:你需要确定两件事。
(a)是否有XML声明,它对编码有何说明?
(b)文件中用于表示这些字符的实际字节是多少?
相关问题 更多 >
编程相关推荐