首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析UTF-8 XML文件

解析UTF-8 XML文件
EN

Stack Overflow用户
提问于 2013-07-16 21:00:34
回答 1查看 2.2K关注 0票数 2

我想用minidom解析一个文件:

代码语言:javascript
复制
with codecs.open(fname, encoding="utf-8") as xml:
   dom = parse(xml)

返回UnicodeEncodeError。XML文件采用UTF-8格式,没有BOM格式,并且具有

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>

在第一行。

如果我第一次读取该文件,对其执行.encode("utf-8")并将其传递给parseString,它就可以正常工作。有没有一种方法可以直接用minidom.parse解析UTF-8XML文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 21:05:31

将解码留给XML解析器;它将检测要使用的编解码器。打开文件而不转换为unicode:

代码语言:javascript
复制
with open(fname) as xml:
    dom = parse(xml)

请注意,使用的是标准函数open()而不是codecs.open()

这适用于任何XML解析器;解析器的工作是从XML前言中确定要使用哪个编解码器来解析文档。如果不存在前言,则默认使用UTF-8。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17677227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档