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字符串替换示例
Apr 24 Python
简单的Python抓taobao图片爬虫
Oct 26 Python
python利用datetime模块计算时间差
Aug 04 Python
python实现的AES双向对称加密解密与用法分析
May 02 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
python装饰器常见使用方法分析
Jun 26 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
Apr 08 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
详解pandas.DataFrame.plot() 画图函数
Jun 14 Python
Python unittest基本使用方法代码实例
Jun 29 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
DC动漫人物排行
2020/03/03 欧美动漫
PHP 一个页面执行时间类代码
2010/03/05 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
jquery中ajax处理跨域的三大方式
2016/01/05 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
Python批量查询域名是否被注册过
2017/06/21 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
基于python实现简单日历
2018/07/28 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
建筑施工实习自我鉴定
2013/09/19 职场文书
中专生毕业自我鉴定
2013/11/01 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
青春雷锋观后感
2015/06/10 职场文书