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 相关文章推荐
使用pyecharts无法import Bar的解决方案
Apr 23 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
python实现网页自动签到功能
Jan 21 Python
python中的subprocess.Popen()使用详解
Dec 25 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
python基础入门之普通操作与函数(三)
Jun 13 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自动生成印有用户信息的名片
2016/08/01 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
window.location.hash 属性使用说明
2010/03/20 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
Django如何实现内容缓存示例详解
2017/09/24 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
详解Python如何生成词云的方法
2018/06/01 Python
python人民币小写转大写辅助工具
2018/06/20 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
python实现自动解数独小程序
2019/01/21 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
解释一下抽象方法和抽象类
2016/08/27 面试题
2014年党务公开方案
2014/05/08 职场文书
项目申请汇报材料
2014/08/16 职场文书
学习退步检讨书
2014/09/28 职场文书
2015小学师德工作总结
2015/07/21 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书