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 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
python docx 中文字体设置的操作方法
May 08 Python
Python多继承顺序实例分析
May 26 Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
详解python实现识别手写MNIST数字集的程序
Aug 03 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
Python PyPDF2模块安装使用解析
Jan 19 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
如何通过python计算圆周率PI
Nov 11 Python
pycharm配置QtDesigner的超详细方法
Jan 25 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
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
Vue实现日历小插件
2019/06/26 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
浅析Python迭代器的高级用法
2020/07/16 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
学前教育毕业生自荐信范文
2013/12/24 职场文书
关于学习的决心书
2015/02/05 职场文书
孟佩杰观后感
2015/06/17 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python