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中的super()方法使用简介
Aug 14 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
Python实现mysql数据库更新表数据接口的功能
Nov 19 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
Django中的ajax请求
Oct 19 Python
python处理multipart/form-data的请求方法
Dec 26 Python
Python3几个常见问题的处理方法
Feb 26 Python
如何使用python操作vmware
Jul 27 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
PyTorch实现重写/改写Dataset并载入Dataloader
Jul 14 Python
Python 绘制多因子柱状图
May 11 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应用JSON技巧讲解
2013/02/03 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
Python中is与==判断的区别
2017/03/28 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
几个人围成一圈的问题
2013/09/26 面试题
灵泰克Java笔试题
2016/01/09 面试题
客服主管岗位职责
2013/12/13 职场文书
计算机专业职业规划
2014/02/28 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
spring cloud 配置中心native配置方式
2021/09/25 Java/Android