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 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
python中对list去重的多种方法
Sep 18 Python
python迭代器与生成器详解
Mar 10 Python
flask入门之文件上传与邮件发送示例
Jul 18 Python
python使用selenium实现批量文件下载
Mar 11 Python
详解Python字符串切片
May 20 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
Python多线程threading创建及使用方法解析
Jun 17 Python
python闭包与引用以及需要注意的陷阱
Sep 18 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 Python
Python排序函数的使用方法详解
Dec 11 Python
Python实现DBSCAN聚类算法并样例测试
Jun 22 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面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
防止文件缓存的js代码
2013/01/10 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
简单了解django orm中介模型
2019/07/30 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
社区庆八一活动方案
2014/02/02 职场文书
入党申请自荐书范文
2014/02/11 职场文书
护理中职生求职信范文
2014/02/24 职场文书
奠基仪式策划方案
2014/05/15 职场文书
交通事故委托书范本
2014/09/28 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL