xml数据处理--ElementTree模块使用
2014-04-29 10:28
375 查看
下面是对1.xml的数据的处理代码
通过代码可以知道ElementTree在使用上比sax更加方便。
sax和ElementTree的比较:
sax:顺序读取数据,不能随意读取,只能从头到尾解析一遍,不能修改数据。不受文件大小限制。
ElementTree:轻量级的dom,可以使用迭代器遍历数据。可以修改数据,随意读取数据。对于大数据来说比sax使用的内存要多很多,因为ElementTree需要载入整个数据。
关于大数据的处理方法请参考该地址:
http://www.ibm.com/developerworks/cn/xml/x-hiperfparse/
本文出自 “fly天地” 博客,请务必保留此出处http://liuping0906.blog.51cto.com/2516248/1404362
# coding:utf-8 import xml.etree.ElementTree as ET def main(): person_data = {} f = open('1.xml') tree = ET.parse(f) root = tree.getroot() with open('data','w') as fp: for person in root.getiterator('person'): for item in person.getiterator(): if isinstance(item.text,unicode): item.text = item.text.encode('utf-8') if item.tag != 'person' and item.text is not None: print >>fp,item.tag+":"+str(item.text)+"|", print >>fp if __name__ == '__main__': main()
通过代码可以知道ElementTree在使用上比sax更加方便。
sax和ElementTree的比较:
sax:顺序读取数据,不能随意读取,只能从头到尾解析一遍,不能修改数据。不受文件大小限制。
ElementTree:轻量级的dom,可以使用迭代器遍历数据。可以修改数据,随意读取数据。对于大数据来说比sax使用的内存要多很多,因为ElementTree需要载入整个数据。
关于大数据的处理方法请参考该地址:
http://www.ibm.com/developerworks/cn/xml/x-hiperfparse/
本文出自 “fly天地” 博客,请务必保留此出处http://liuping0906.blog.51cto.com/2516248/1404362
相关文章推荐
- 带系统设备非系统盘磁盘分区
- DEM格式转换
- linux下SSH远程连接服务慢解决方案
- DIV CSS 居中
- extern "c"用法
- An internal error occurred during: "Building workspace".
- 错误 1 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口
- 10个样式各异的CSS3 Loading加载动画
- Android 实现打电话功能demo
- 将ASP纪录集输出成n列的的表格形式显示的方法
- 防范SQL指令植入式攻击
- 林达华推荐的几本数学书
- 组合数学笔记
- Linux TCP/IP 协议栈之 Socket 的实现分析(一)
- Microsoft Visual Studio 2013已停止工作
- http://www.uisdc.com/tgideas-mobile-web-design
- Qt之JSON生成与解析
- 【什么是委托】
- LEADTOOLS案例:PDF/A文档存储系统
- Android Popupwindow 拖动