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数据结构之Array用法实例
Oct 09 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
python3+PyQt5实现自定义窗口部件Counters
Apr 20 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
python pands实现execl转csv 并修改csv指定列的方法
Dec 12 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
python logging.info在终端没输出的解决
May 12 Python
python使用隐式循环快速求和的实现示例
Sep 11 Python
用python计算文件的MD5值
Dec 23 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 巧用数组降低程序的时间复杂度
2010/01/01 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
js 单引号 传递方法
2009/06/22 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
用Python遍历C盘dll文件的方法
2015/05/06 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
python中requests和https使用简单示例
2018/01/18 Python
Python函数中不定长参数的写法
2019/02/13 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
什么是python的列表推导式
2020/05/26 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
Python:__eq__和__str__函数的使用示例
2020/09/26 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
拉丁舞学习者的自我评价
2013/10/27 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
大学团日活动总结书
2015/05/11 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏