python类库[使用xml.etree.ElementTree读写xml]
来源:互联网 发布:淘宝2016版本下载安装 编辑:程序博客网 时间:2024/05/17 23:18
一 基本知识
1、插入节点
Element.insert(index, element) 、Element(tag[, attrib][, **extra]) 、SubElement(parent, tag[, attrib[, **extra]]) 、Element.append(subelement)
2、删除节点
Element.remove(subelement) 删除一个节点、Element.clear()删除该节点下所有子节点
3、在节点中插入属性
Element.set(key, value)
4、查找节点
a) Element.getiterator b) Element.getchildren c) Element.find d) Element.findall
二 读取xml
1)xml为
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee id = '1'>
<name>linux</name>
<age>30</age>
</employee>
<employee id = '2'>
<name>windows</name>
<age>20</age>
</employee>
</employees>
<employees>
<employee id = '1'>
<name>linux</name>
<age>30</age>
</employee>
<employee id = '2'>
<name>windows</name>
<age>20</age>
</employee>
</employees>
2)python脚本为
from xml.etree import ElementTree
def print_node(node):
print "====================================="
for key,value in node.items():
print "%s:%s" % (key, value)
for subnode in node.getchildren():
print "%s:%s" % (subnode.tag, subnode.text)
def read_xml(text = '', xmlfile = ''):
#root = ElementTree.parse(xmlfile)
root = ElementTree.fromstring(text)
# 1 getiterator([tag=None])
# only elements whose tag equals tag are returned from the iterator
eitor = root.getiterator("employee")
for e in eitor:
print_node(e)
# 2 getchildren()
# Returns all subelements
eitor = root.getchildren()
for e in eitor:
print_node(e)
# 3 findall(match)
# Finds all subelements matching match.
# match may be a tag name or path. Returns an iterable yielding all matching elements
node_findall = root.findall("employee")
for e in node_findall:
print_node(e)
# 4 find(match)
# Finds the first subelement matching match.
# match may be a tag name or path. Returns an element instance or None
node_find = root.find('employee')
print_node(node_find)
if __name__ == '__main__':
read_xml(open("employees.xml").read())
def print_node(node):
print "====================================="
for key,value in node.items():
print "%s:%s" % (key, value)
for subnode in node.getchildren():
print "%s:%s" % (subnode.tag, subnode.text)
def read_xml(text = '', xmlfile = ''):
#root = ElementTree.parse(xmlfile)
root = ElementTree.fromstring(text)
# 1 getiterator([tag=None])
# only elements whose tag equals tag are returned from the iterator
eitor = root.getiterator("employee")
for e in eitor:
print_node(e)
# 2 getchildren()
# Returns all subelements
eitor = root.getchildren()
for e in eitor:
print_node(e)
# 3 findall(match)
# Finds all subelements matching match.
# match may be a tag name or path. Returns an iterable yielding all matching elements
node_findall = root.findall("employee")
for e in node_findall:
print_node(e)
# 4 find(match)
# Finds the first subelement matching match.
# match may be a tag name or path. Returns an element instance or None
node_find = root.find('employee')
print_node(node_find)
if __name__ == '__main__':
read_xml(open("employees.xml").read())
参考:
http://blog.csdn.net/kiki113/archive/2009/04/06/4052584.aspx
完!
0 0
- python类库31[使用xml.etree.ElementTree读写xml]
- python类库[使用xml.etree.ElementTree读写xml]
- xml.etree.ElementTree 使用
- python xml.etree.ElementTree解析
- Python xml.etree.ElementTree 用法
- [python]使用xml.etree.ElementTree遍历xml所有节点
- [ZT]Python使用xml.etree.ElementTree操作xml文件
- 使用Python和xml.etree.ElementTree解析xml文件
- 68.[Python]使用xml.etree.ElementTree操作XML
- python xml.etree ElementTree解析 编辑 xml
- [Python]xml.etree.ElementTree处理xml文档
- python XML解析--xml.etree.ElementTree
- python-xml.etree.ElementTree解析xml文件
- 使用xml.etree.ElementTree读xml
- python模块之xml.etree.ElementTree
- Python标准库之xml.etree.ElementTree
- Python模块学习之xml.etree.ElementTree
- Python标准库之xml.etree.ElementTree
- 黑马程序员之笔记3---内部类
- Struts2配置文件讲解
- 数据库操作常识小记 20140323 补充中。。
- cocos2dx 3.0 beta2 如何创建从win平台转android平台
- linux下的双显卡切换(linux mint LMDE测试有效)
- python类库[使用xml.etree.ElementTree读写xml]
- 【玩转cocos2d-x之三十五】Earth Warrior 3D大揭秘
- 【C/C++】C++文件操作
- Unix环境高级编程在linux下的源码配置
- 一大波八核智能手机即将到来
- 八种排序算法重新整理,带解析
- imshow的用法
- 高级复制双向可更新视图
- C# 匿名类