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学习RabbitMQ消息队列
Nov 30 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
python binascii 进制转换实例
Jun 12 Python
python psutil模块使用方法解析
Aug 01 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
基于python的列表list和集合set操作
Nov 24 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 Python
用Python提取PDF表格的方法
Apr 11 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 JSON数组与对象
2016/07/19 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
vue如何截取字符串
2019/05/06 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
python中pygame模块用法实例
2014/10/09 Python
python实现按任意键继续执行程序
2016/12/30 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python3爬虫怎样构建请求header
2018/12/23 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
大学生开西餐厅创业计划书
2014/02/01 职场文书
法律进学校实施方案
2014/03/15 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
年底个人总结范文
2015/03/10 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
电力安全学习心得体会
2016/01/18 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS