详解lxml处置惩罚xml时的字符编码题目【XML教程】,lxml,xml,字符编码
作者:搜教程发布时间:2019-12-01分类:XML教程浏览:31评论:0
导读:为了简化题目,就把xml的内容简化为以下的情势:<?xmlversion="1.0"encoding="gbk"?><DOCUMENT><...
为了简化题目,就把xml的内容简化为以下的情势:
<?xml version="1.0" encoding="gbk"?><DOCUMENT><da><![CDATA[中文,就是率性]]></da></DOCUMENT>
它的encoding为gbk,个中的节点有一个为中文字符
运用lxml提取节点的值时涌现了以下的非常
lxml.etree.XMLSyntaxError: Extra content at the end of the document
此时对应的Python剧本为:
tst = u'<?xml version="1.0" encoding="gbk"?><DOCUMENT><da><![CDATA[中文,就是率性]]></da></DOCUMENT>' for event,element in etree.iterparse(BytesIO(tst.encode('utf-8'))): print("%s, %s" % (element.tag, element.text))
不过简化之前,报的是别的一个非常
lxml.etree.XMLSyntaxError: input conversion failed due to input error, bytes 0x8B 0x2C 0xE6 0x9D
不管非常是哪个,猜想照样和字符的编码情势有关。
经由种种尝试无果,厥后在stackoverflow上看到这篇文章,文中提到的题目和xml中的encoding值有关,尝试了增加了一段代码
tst = u'<?xml version="1.0" encoding="gbk"?><DOCUMENT><da><![CDATA[中文,就是率性]]></da></DOCUMENT>' tst = tst.replace('encoding="gbk"', 'encoding="utf-8"') for event,element in etree.iterparse(BytesIO(tst.encode('utf-8'))): print("%s, %s" % (element.tag, element.text))
增加了一个替代的语句,将之前的encoding="gbk"替代成encoding:"utf-8"
因而终究获得了效果:
da, 中文,就是率性 DOCUMENT, None
以上就是详解lxml处置惩罚xml时的字符编码题目的细致内容,更多请关注ki4网别的相干文章!
相关推荐
- 四种使用dom4j读取xml文件的方式_XML教程,xml
- linux下 php 安装xml扩展的方法_php教程,php,xml
- java完成猎取文本文件的字符编码【JAVA教程】,java,实现,获取,文本文件,字符编码
- mysql怎么改字符编码?【MySQL教程】,mysql,字符编码
- mysql数据库的字符编码题目【MySQL教程】,mysql,字符编码
- 为什么用json不必xml【XML教程】,json,xml
- XQuery是什么【XML教程】,XQuery,xml
- 设置struts.xml的实例详解【XML教程】,struts,xml
- 分享一个xml字符串经由过程dom4j剖析的要领【XML教程】,dom4j,xml,字符串
- C#中经由过程xpath查找xml的指定元素的代码实例【XML教程】,C#,xpath,xml
你 发表评论:
欢迎- XML教程排行
-
- 1您相识XML么?它是做什么用的?【XML教程】,XML
- 2XML中的定名空间的示例代码详解【XML教程】,XML,命名空间
- 3怎样在Python中不换行的输出【XML教程】,Python,输出
- 4Java中剖析XML的体式格局有哪些【XML教程】,Java,解析XML
- 5为什么用json不必xml【XML教程】,json,xml
- 6有关XML剖析中DOM剖析的细致引见【XML教程】,DOM
- 7完成Asp与XML交互的实例剖析【XML教程】,Asp,XML,交互
- 8XQuery是什么【XML教程】,XQuery,xml
- 9运用XSLT将XML数据转换成HTML【XML教程】,XSLT,XML,HTML
- 最新文章
- 广而告之