python Python 解析xml文件出现错误xml.parsers.expat.ExpatError: unknown encoding 的解决


python 解析xml文件出现错误:xml.parsers.expat.ExpatError: unknown encoding: line 1, column 30

这是由于编码问题。

原因说明:

shell环境的 LANG=zh_CN.UTF-8
执行一个程序,生成了一个XML文件,在程序中将xml文件的编码设置成了GB2312,如“<?xml version="1.0" encoding="GB2312"?>”。
然后使用xml.etree.ElementTree解析这个xml文件,就出现了错误:“xml.parsers.expat.ExpatError: unknown encoding: line 1, column 30”。

实际上,由于LANG的作用,程序生成XML文件编码是UTF-8,并不是GB2312,所以解析时出现了错误。
(查看文本文件编码可以在vim下执行 :set fileencoding 来查看。)

解决办法:

将XML文件编码转换为GB2312,例如使用 iconv 命令,
或者
修改XML文件的编码为UTF-8,如:“<?xml version="1.0" encoding="UTF-8"?>”


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值