Ale*_*lex 5 python xml encoding parsing
当我尝试使用lxml解析XML时,如下所示:
tree = etree.parse('xml.xml')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
lxml.etree.XMLSyntaxError: Unsupported encoding windows-1251
Run Code Online (Sandbox Code Playgroud)
如何使用这种编码从XML读取数据?
谢谢
我认为您使用的是Python 2.x版本。
如果是这样,我相信您必须使用编解码器模块的open()函数,并执行以下操作:
import codecs
with codecs.open(filename,'rb','cp1251') as f:
content = f.read()
tree = etree.parse(content)
Run Code Online (Sandbox Code Playgroud)
我认为获得的内容已从cp1251解码为Unicode;我不确定,我不擅长Unicode操作。
如果是这样,我想在阅读之后,etree必须能够解析Unicode中的字符串才能继续。但我也知道etree。
请注意,即使mode为'r',codecs.open()也始终以二进制模式打开文件。
希望会有所帮助
| 归档时间: |
|
| 查看次数: |
2296 次 |
| 最近记录: |