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中文竖排显示的方法
Jul 28 Python
理解python中生成器用法
Dec 20 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
对python中的高效迭代器函数详解
Oct 18 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
django 消息框架 message使用详解
Jul 22 Python
django实现模型字段动态choice的操作
Apr 01 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
python通过新建环境安装tfx的问题
May 20 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 飞信好友免费短信API接口开源版
2010/07/22 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
python使用urllib2提交http post请求的方法
2015/05/26 Python
Python 处理图片像素点的实例
2019/01/08 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
python实现字典嵌套列表取值
2019/12/16 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
Python实现播放和录制声音的功能
2020/08/12 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
政风行风建设责任书
2014/07/23 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
SQL Server 中的事务介绍
2022/05/20 SQL Server