python ElementTree 基本读操作示例


Posted in Python onApril 09, 2009

示例可以附件中下载
1.加载xml文件
加载XML文件共有2种方法,一是加载指定字符串,二是加载指定文件
2.获取element的方法
a) 通过getiterator
b) 过 getchildren
c) find方法
d) findall方法
示例如下:

#-*- coding:utf-8 -*- 
from xml.etree import ElementTree 
def print_node(node): 
'''''打印结点基本信息''' 
print "==============================================" 
print "node.attrib:%s" % node.attrib 
if node.attrib.has_key("age") > 0 : 
print "node.attrib['age']:%s" % node.attrib['age'] 
print "node.tag:%s" % node.tag 
print "node.text:%s" % node.text 
def read_xml(text): 
'''''读xml文件''' 
# 加载XML文件(2种方法,一是加载指定字符串,二是加载指定文件) 
# root = ElementTree.parse(r"D:\test.xml") 
root = ElementTree.fromstring(text) # 获取element的方法 
# 1 通过getiterator 
lst_node = root.getiterator("person") 
for node in lst_node: 
print_node(node) 
# 2通过 getchildren 
lst_node_child = lst_node[0].getchildren()[0] 
print_node(lst_node_child) 
# 3 .find方法 
node_find = root.find('person') 
print_node(node_find) 
#4. findall方法 
node_findall = root.findall("person/name")[1] 
print_node(node_findall) 
if __name__ == '__main__': 
# read_xml(open("test.xml").read()) 
write_xml(open("test.xml").read())
Python 相关文章推荐
Python生成随机数的方法
Jan 14 Python
跟老齐学Python之dict()的操作方法
Sep 24 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
python基础教程之匿名函数lambda
Jan 17 Python
在centos7中分布式部署pyspider
May 03 Python
快速了解python leveldb
Jan 18 Python
python爬虫实例详解
Jun 19 Python
详解Python 函数如何重载?
Apr 23 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
python 实现在一张图中绘制一个小的子图方法
Jul 07 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
Python import模块的缓存问题解决方案
Jun 02 Python
python 获取et和excel的版本号
Apr 09 #Python
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 #Python
python 获取文件列表(或是目录例表)
Mar 25 #Python
Python字符串的encode与decode研究心得乱码问题解决方法
Mar 23 #Python
python 判断自定义对象类型
Mar 21 #Python
python mysqldb连接数据库
Mar 16 #Python
wxpython 学习笔记 第一天
Mar 16 #Python
You might like
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
Javascript继承机制详解
2017/05/30 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
python格式化字符串实例总结
2014/09/28 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
Python Web版语音合成实例详解
2019/07/16 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
final, finally, finalize的区别
2012/03/01 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
高考自主招生自荐信
2013/10/20 职场文书
施工安全承诺书
2014/05/22 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
二审答辩状范文
2015/05/22 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android