[英]Python: parse an XML in Windows-1251 encoding
当我尝试使用 lxml 解析 XML 时,如下所示:
tree = etree.parse('xml.xml')
我收到以下错误:
lxml.etree.XMLSyntaxError: Unsupported encoding windows-1251
如何使用这种编码从 XML 读取数据?
谢谢
我认为您使用的是 Python 2.x 版本。
如果是这样,我相信你必须使用编解码器模块的 open() function,并做到:
import codecs
with codecs.open(filename,'rb','cp1251') as f:
content = f.read()
tree = etree.parse(content)
我认为获取的内容已经从cp1251解码为Unicode ; 我不确定,我不擅长 Unicode 操作。
如果是这样,我想,在阅读之后,etree 必须能够解析 Unicode 中的字符串才能继续。 但我也有点了解etree 。
请注意,即使 mode 是'r' , codecs.open() 也总是以二进制模式打开文件。
希望这会有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.