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设计模式之单例模式实例
Apr 26 Python
Python中os.path用法分析
Jan 15 Python
Fiddler如何抓取手机APP数据包
Jan 22 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
python爬取微信公众号文章
Aug 31 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
python list转置和前后反转的例子
Aug 26 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 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
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
PHP操作数组相关函数
2011/02/03 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
python的urllib模块显示下载进度示例
2014/01/17 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Python NumPy库安装使用笔记
2015/05/18 Python
理解Python中的With语句
2016/03/18 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Python Cookie 读取和保存方法
2018/12/28 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
python软件都是免费的吗
2020/06/18 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
送给程序员的20个Java集合面试问题
2014/08/06 面试题
承诺函格式模板
2015/01/21 职场文书