好用的python cElementTree
来源:互联网 发布:mac如何制作u盘安装盘 编辑:程序博客网 时间:2024/06/11 17:37
ElementTree是python的XML解析模块,cElementTree是ElementTree的C语言实现。Python 2.5的标准库已经包含了ElementTree和cElementTree。
下面是从cElementTree网站得到的测试数据:
Here are some benchmark figures, using a number of popular XML toolkits to parse a 3405k document-style XML file, from disk to memory:
ElementTree是一棵由元素节点构成的树,文本内容是作为元素的text或tail属性表现的,如ele.text。这点比DOM把元素和文本都作为节点的方式简洁、方便很多。element支持一些字典或列表的操作,属性用字典方式,子节点用列表。查找用find或findall函数。
elem[n]
Returns n'th child element. elem[m:n]
Returns list of m'th through n'th child elements. len(elem)
Returns number of child elements. list(elem)
Returns list of child elements. elem.append(elem2)
Adds elem2 as a child. elem.insert(index, elem2)
Inserts elem2 at the specified location. del elem[n]
Deletes n'th child element. elem.keys()
Returns list of attribute names. elem.get(name)
Returns value of attribute name. elem.set(name, value)
Sets new value for attribute name. elem.attrib
Retrieves the dictionary containing attributes. del elem.attrib[name]
Deletes attribute name. 确实是好东西,而且用起来非常方便,简单的写几行代码体验一下~~~
#Python2.4下的代码
import cElementTree as ET
#解析文件
tree = ET.parse('test.xml')
#获得根节点
root = tree.getroot()
#找到第一个tagformat标签
tag = root.find('tagformat')
#遍历所有的opt标签
for ele in tag.findall('opt'):
print ele.text
#获得属性
print root.get('name')
#修改或新建属性
root.set('user', 'liujunzhi')
#以utf-8编码保存
f = open('output.xml', 'w')
tree.write(f, encoding='utf-8')
f.close()
import cElementTree as ET
#解析文件
tree = ET.parse('test.xml')
#获得根节点
root = tree.getroot()
#找到第一个tagformat标签
tag = root.find('tagformat')
#遍历所有的opt标签
for ele in tag.findall('opt'):
print ele.text
#获得属性
print root.get('name')
#修改或新建属性
root.set('user', 'liujunzhi')
#以utf-8编码保存
f = open('output.xml', 'w')
tree.write(f, encoding='utf-8')
f.close()
- 好用的python cElementTree
- yum错误ImportError: No module named cElementTree的处理
- python 好用的网站
- 好用的Python库
- mybbfreeze,好用的python编译器。
- 好用的python网站监控程序
- python用训练好的model分类
- 好用的分类统计--Python
- python好用的函数、工具等
- Python好用的IDE推荐
- python 好用的日志模块
- ubuntu下 python 好用的IDE
- 开发Python的好工具
- 学习python的好去处!!!
- 学习Python的好去处!
- python 好的学习博客
- 必读的Python好文
- python的__del__看来还是少用的好
- 干煸四季豆——似乎这个更正宗zz
- JSP前台的hidden域传值和action的处理
- 千万元工程的陨落——国企ERP实施(转载)
- Asp.Net Forums中对.Net中序列化和反序列化的应用
- 嵌入式程序员应知道的几个基本问题(1)
- 好用的python cElementTree
- 动态ActionForm的使用
- 【IT168 编程开发】什么是序列化?
- eclipse plugin popupMenu 如何获得选中java文件的包名
- 所有版本JDK下载
- 我们身边的模式——读《Head First设计模式》
- dotnet2.0的部署
- 在Windows Media Player的打开对话框中打开几乎所有的媒体文件(注册表文件)
- 在.NET中实现对象序列化