python标准库xml.etree.ElementTree的bug
使用python生成或者解析xml的方法用的最多的可能就数python标准库xml.etree.ElementTree和lxml了,在某些环境下使用xml.etree.ElementTree更方便一些,毕竟是python2.5以后的标准库。
没想到的是python标准库中竟然存在这么一个低级的bug,简单来说就是某种情况下使用ElementTree序列化的xml数据竟然无法正常解析。仔细分析之后发现是因为charset的原因,但为何不在序列化的时候就做一些检测,进行相应提醒呢?也不至于出现自己序列化自己却不能正常解析的尴尬局面了吧?这点和lxml相比就差远了。
具体示例如下:
def test_lxml():
from lxml import etree
root = etree.Element('root')
root.text = '123\x0c'
s = etree.tostring(root)
print 's = ', s
tree = etree.fromstring(s)
print tree
def test_elementtree():
from xml.etree.ElementTree import tostring, fromstring, Element
root = Element('root')
root.text = '123\x0c'
s = tostring(root)
print 's = ', s
tree = fromstring(s)
if __name__== '__main__':
test_elementtree()
# test_lxml()
同样的逻辑,如果使用ElementTree来实现的话出现错误如下:
aaarticlea/png;base64,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" alt="" />
如果使用lxml来实现的话错误提示如下:
aaarticlea/png;base64,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" alt="" />
可以很容易看出lxml在无效xml字符方面的处理更友善一些,能在赋值的时候就检测字符有效性,而ElementTree则允许用户赋值,并能顺利序列化,但却在解析数据的时候出现异常。
究其根源,是root.text = '123\x0c'赋值中存在无效xml字\x0c,合法xml字符集定义如下:http://www.w3.org/TR/2006/REC-xml-20060816/#charsets
python标准库xml.etree.ElementTree的bug的更多相关文章
- [python标准库]XML模块
1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词. ...
- python模块:xml.etree.ElementTree
"""Lightweight XML support for Python. XML is an inherently hierarchical data format, ...
- [python 学习] 使用 xml.etree.ElementTree 模块处理 XML
---恢复内容开始--- 导入数据(读文件和读字符串) 本地文件 country_data.xml <?xml version="1.0"?> <data> ...
- python模块之xml.etree.ElementTree
xml.etree.ElementTree用于解析和构建XML文件 <?xml version="1.0"?> <data> <country nam ...
- [python 2.x] xml.etree.ElementTree module
XML 文件:xmlparse.xml <?xml version="1.0" encoding="UTF-8" standalone="no& ...
- Python 标准库之 xml.etree.ElementTree
Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API,常用的有xml.dom.*模块.xml.sax.*模块.xml.parser.expat模块和 ...
- python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别和基本使用
1.解析速度:ElementTree在 Python 标准库中有两种实现.一种是纯 Python 实现例如 xml.etree.ElementTree ,另外一种是速度快一点的 xml.etree.c ...
- Python 标准库、第三方库
Python 标准库.第三方库 Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写 ...
- Python标准库之 xml.etree.ElementTree
Element类型是一种灵活的容器对象,用于在内存中存储结构化数据. 每个element对象都具有以下属性: 1. tag:string对象,表示数据代表的种类. 2. attrib:dictiona ...
随机推荐
- HR函数学习02——分配组织单位
REPORT ZLYHR01. "创建组织单元 成功 DATA:LS_OBJ TYPE OBJEC, LV_STU TYPE GDSTR-SVECT, LV_TIT TYPE CHAR20, ...
- uva 1151(最小生成树,枚举子集)
题意:平面上有n个点(1<=N<=1000),你的任务是让所有n个点连通,为此,你可以新建一些边,费用等于两个端点的欧几里得距离的平方.另外还有q(0<=q<=8)个套餐,可以 ...
- 分布式系统中一些主要的副本更新策略——Dynamo/Cassandra/Riak同时采取了主从式更新的同步+异步类型,以及任意节点更新的策略。
分布式系统中一些主要的副本更新策略. 1.同时更新 类型A:没有任何协议,可能出现多个节点执行顺序交叉导致数据不一致情况. 类型B:通过一致性协议唯一确定不同更新操作的执行顺序,从而保证数据一致性 2 ...
- PDF 补丁丁 0.4.2.1023 测试版使用手册发布
由于 PDF 补丁丁新版本增加的功能颇多,界面也重新设计过,因此,使用手册需要作比较大幅度的改动才能与软件相匹配. 目前,使用手册已经撰写了一部分,但新增功能的介绍和新界面的截图还没完成,有2/3的内 ...
- OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序
iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序 一.plist文件和项目结构图 说明:这是一个嵌套模型的示例 二.代码示例: YYcarsgroup.h文件代码: // // YYcar ...
- 基础篇-Windows消息机制
1在介绍Windows 消息运行机制之前,首先介绍一下消息的概念: 消息(Message)指的就是Windows 操作系统发给应用程序的一个通告[5],它告诉应用程序某个特定的事件发生了.比如,用户单 ...
- ubuntu 14.04 下找不到命令,路径出错
在安装一些东西时,可能操作上不小心把路径覆盖或打错,造成一些基本命令如ls mkdir等无法使用,就会出现以下提示错误. 错误: 由于/usr/bin 不在PATH 环境变量中,故无法找到该命令 根本 ...
- input标签实现让光标不出现!
实现不让光标出现的效果,很好用,例子如下: <input class="red" readonly unselectable="on" value=&qu ...
- [windows操作系统]windows管理
1.磁盘管理: 1.1.使用DISKPART命令行工具创建扩展分区: windows自带有一个disk management(磁盘管理)工具,但在其中却找不到如何创建扩展分区(一般MBR分区格式需要扩 ...