[python]python操作xml文件
2013-10-13 16:46
253 查看
最近的工作和xml文件打交道比较多,就想着看能否通过python去修改xml文件中的属性值,然后python中果然是有现成的库可以使用,先来看一段代码:
代码说明:
1.try:
import xml.etree.cElementTree
as ET
except ImportError:
import xml.etree.ElementTree
as ET
这是一个让 Python 不同的库使用相同 API 的一个比较常用的办法。还是那句话,你的编译环境和别人的很可能不一样,所以这样做可以防止一些莫名其妙的小问题。注意:从 Python 3.3 开始,你没有必要这么做了,因为 ElementTree 模块会自动寻找可用的
C 库来加快速度。所以只需要 importxml.etree.ElementTree 就可以了。
2.重新定义了一个file文件用来写最后的输出文件,这样可以把原文件保留下来,以方便其他的操作;
3.tree.iter()可以用来遍历xml文件中的所有元素;
4.for循环中还使用一个try是用来避免没有该属性的元素导致的报错。
#!/usr/bin/python try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET file = open('new.xml', 'w') file.write('<?xml version="1.0"?>\n') tree = ET.ElementTree(file='doc1.xml') root = tree.getroot() for item in tree.iter(): print item.tag, item.attrib try: if item.attrib['name'] == 'testing': item.attrib['name'] = 'func_test' except: print item.tag, item.attrib tree.write(file) file.close()
代码说明:
1.try:
import xml.etree.cElementTree
as ET
except ImportError:
import xml.etree.ElementTree
as ET
这是一个让 Python 不同的库使用相同 API 的一个比较常用的办法。还是那句话,你的编译环境和别人的很可能不一样,所以这样做可以防止一些莫名其妙的小问题。注意:从 Python 3.3 开始,你没有必要这么做了,因为 ElementTree 模块会自动寻找可用的
C 库来加快速度。所以只需要 importxml.etree.ElementTree 就可以了。
2.重新定义了一个file文件用来写最后的输出文件,这样可以把原文件保留下来,以方便其他的操作;
3.tree.iter()可以用来遍历xml文件中的所有元素;
4.for循环中还使用一个try是用来避免没有该属性的元素导致的报错。
相关文章推荐
- python--svm
- [python]python中使用gflags和logging
- Python 专题一 python 使用 MySQL
- 出现Python.h:No such file or directory错误的解决方案
- python面试题大全(一)
- python学习--numpy的数组
- 最大不覆盖点的圆
- 常见的Python 运行错误信息
- 二分法求平方根(Python实现)
- Python 生产者-消费者模型
- Python IDE的选择
- 冒泡排序(升序和降序)的python代码实现
- Python中print和字符格式化的小结(Python2.7.5)
- python 打印程序编译的时间
- Python正则表达式指南
- 比较详细Python正则表达式操作指南(re使用)
- Python 美化打印 json 数据
- Python字符编码详解
- Ubuntu 12.04 安装mysql及mysql-python
- python安装过程