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 相关文章推荐
Python smallseg分词用法实例分析
May 28 Python
Django URL传递参数的方法总结
Aug 28 Python
带你了解python装饰器
Jun 15 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
python实现支付宝转账接口
May 07 Python
python定时任务 sched模块用法实例
Nov 04 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
Pytorch之finetune使用详解
Jan 18 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
Python使用lambda抛出异常实现方法解析
Aug 20 Python
Pytorch实验常用代码段汇总
Nov 19 Python
用Python 执行cmd命令
Dec 18 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
ThinkPHP空模块和空操作详解
2014/06/30 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
javascript Event对象详解及使用示例
2013/11/22 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
python中Apriori算法实现讲解
2017/12/10 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
python实现复制大量文件功能
2019/08/31 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
文明礼仪事迹材料
2014/01/09 职场文书
施工材料员岗位职责
2014/02/12 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
2014年节能工作总结
2014/12/18 职场文书
行政文员岗位职责
2015/02/04 职场文书
焦点访谈观后感
2015/06/11 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫