python操作xml的两种方法
- 更新时间:2021-07-24 09:28:21
- 编辑:常访彤
给寻找编程代码教程的朋友们精选了相关的编程文章,网友刘明杰根据主题投稿了本篇教程内容,涉及到Python相关内容,已被295网友关注,相关难点技巧可以阅读下方的电子资料。
参考资料
- Selenium 2自动化测试实战:基于Python语言 PDF 电子书 / 44 MB / 虫师 推荐度:
- 写给系统管理员的Python脚本编程指南 PDF 电子书 / 137 MB / 甘尼什·桑吉夫·奈克 推荐度:
- Python网络爬虫实战 PDF 电子书 / 50.9 MB / 胡松涛 推荐度:
- 数据科学实战手册(R+Python) PDF 电子书 / 58.7 MB / Tony Ojeda(托尼·奥杰德) 推荐度:
- Python游戏编程入门 PDF 电子书 / 41.6 MB / 李强 推荐度:
正文内容
给学习python的读者整理一篇《python操作xml的两种方法》优秀文章,实例讲的很实用,扩充了更多相关实例,希望对网友有用。
说明
1、DOM会将整个XML读入内存,解析为树,所以占用内存大,解析慢。它的优点是可以随意遍历树的节点。
2、SAX是一种流模式,边读边分析,占用内存小,分析快,缺点是需要自己处理事件。一般情况下,SAX优先考虑,因为DOM占用内存太多。
实例
from xml.parsers.expat import ParserCreate class DefaultSaxHandler(object): def start_element(self, name, attrs): print('sax:start_element: %s, attrs: %s' % (name, str(attrs))) def end_element(self, name): print('sax:end_element: %s' % name) def char_data(self, text): print('sax:char_data: %s' % text) xml = r'''<?xml version="1.0"?> <ol> <li><a href="/python">Python</a></li> <li><a href="/ruby">Ruby</a></li> </ol> ''' handler = DefaultSaxHandler() parser = ParserCreate() parser.StartElementHandler = handler.start_element parser.EndElementHandler = handler.end_element parser.CharacterDataHandler = handler.char_data parser.Parse(xml) //测试结果 sax:start_element: ol, attrs: {} sax:char_data: sax:char_data: sax:start_element: li, attrs: {} sax:start_element: a, attrs: {'href': '/python'} sax:char_data: Python sax:end_element: a sax:end_element: li sax:char_data: sax:char_data: sax:start_element: li, attrs: {} sax:start_element: a, attrs: {'href': '/ruby'} sax:char_data: Ruby sax:end_element: a sax:end_element: li sax:char_data: sax:end_element: ol
以上就是python操作xml的两种方法,希望对大家有所帮助。
相关教程
-
用Python实现群发邮件
大家好,本篇文章主要讲的是用Python实现群发邮件,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
发布时间:2019-07-23
-
对python多线程中Lock()与RLock()锁详解
今天小编就为大家分享一篇对python多线程中Lock()与RLock()锁详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2019-06-03