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调用cmd命令行制作刷博器
Jan 13 Python
Python常用模块用法分析
Sep 08 Python
跟老齐学Python之有容乃大的list(3)
Sep 15 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
python读取Excel实例详解
Aug 17 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
Windows下Sqlmap环境安装教程详解
Aug 04 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的ob_start();控制您的浏览器cache!
2006/11/25 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
用jscript启动sqlserver
2007/06/21 Javascript
extjs form textfield的隐藏方法
2008/12/29 Javascript
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
python连接mongodb集群方法详解
2020/02/13 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
python3实现飞机大战
2020/11/29 Python
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
竞选班长演讲稿
2013/12/30 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
医疗纠纷协议书
2014/04/16 职场文书
小学运动会演讲稿
2014/08/25 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
南极大冒险观后感
2015/06/05 职场文书
导游词之镜泊湖
2019/12/09 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL
MySQL GTID复制的具体使用
2022/05/20 MySQL