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使用MySQLdb for Python操作数据库教程
Oct 11 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 Python
对Python中type打开文件的方式介绍
Apr 28 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
Python无头爬虫下载文件的实现
Apr 02 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
python 破解加密zip文件的密码
Apr 22 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
相对路径转化成绝对路径
2007/04/10 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
在Django中URL正则表达式匹配的方法
2018/12/20 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
.NET现在共支持多少种语言
2014/02/26 面试题
毕业生自荐书
2013/12/18 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
运动会加油稿50字
2015/07/21 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS