Python 解析XML文件


Posted in Python onApril 15, 2009

Python文件:

#parsexml.py 
#本例子参考自python联机文档,做了适当改动和添加 import xml.parsers.expat 
#控制打印缩进 
level = 0 
#获取某节点名称及属性值集合 
def start_element(name, attrs): 
global level 
print ' '*level, 'Start element:', name, attrs 
level = level + 1 
#获取某节点结束名称 
def end_element(name): 
global level 
level = level - 1 
print ' '*level, 'End element:', name 
#获取某节点中间的值 
def char_data(data): 
if(data == '\n'): 
return 
if(data.isspace()): 
return 
global level 
print ' '*level, 'Character data:', data 
p = xml.parsers.expat.ParserCreate() 
p.StartElementHandler = start_element 
p.EndElementHandler = end_element 
p.CharacterDataHandler = char_data 
p.returns_unicode = False 
f = file('sample.xml') 
p.ParseFile(f) 
f.close()

XML文件(sample.xml):
<contacts id="bluecrystal"> 
<item name="keen" fff="ddd"> 
<telephone type="phone">222222222</telephone> 
<telephone type="mobile">134567890</telephone> 
</item> 
<item name="bcm"> 
<telephone type="phone">11111111</telephone> 
<telephone type="mobile">15909878909</telephone> 
</item> 
</contacts>
Python 相关文章推荐
python3实现短网址和数字相互转换的方法
Apr 28 Python
python中 logging的使用详解
Oct 25 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
Django url,从一个页面调到另个页面的方法
Aug 21 Python
如何使用Python破解ZIP或RAR压缩文件密码
Jan 09 Python
python实例化对象的具体方法
Jun 17 Python
python动态规划算法实例详解
Nov 22 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
有趣的二维码:使用MyQR和qrcode来制作二维码
May 10 Python
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 #Python
python thread 并发且顺序运行示例
Apr 09 #Python
python 判断一个进程是否存在
Apr 09 #Python
python ElementTree 基本读操作示例
Apr 09 #Python
python 获取et和excel的版本号
Apr 09 #Python
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 #Python
python 获取文件列表(或是目录例表)
Mar 25 #Python
You might like
PHP实现分页的一个示例
2006/10/09 PHP
php下实现伪 url 的超简单方法[转]
2007/09/24 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
javascript表单验证大全
2015/08/12 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
详解Python进程间通信之命名管道
2017/08/28 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
python向图片里添加文字
2019/11/26 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
python绘制汉诺塔
2021/03/01 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
《云雀的心愿》教学反思
2014/02/25 职场文书
一年级学生评语
2014/04/23 职场文书
企业法人代表任命书
2014/06/06 职场文书
村安全生产责任书
2014/08/25 职场文书
师德师风个人总结
2015/02/06 职场文书
辩护词范文大全
2015/05/21 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL