繁体   English   中英

Python:在 Windows-1251 编码中解析 XML

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM