ElementTree生来就是为了处理XML, 它在Python标准库中有两种实现:一种是纯Python实现的, 如xml.etree.ElementTree, 另一种是速度快一点的xml.etree.cElementTree. 注意:尽量使用C语言实现的那种, 因为它速度更快, 而且消耗的内存更少.
a. 遍历根节点的下一层
b. 下标访问各个标签、属性、文本
c. 查找root下的指定标签
d. 遍历XML文件
e. 修改XML文件
导入包
1 | try: |
解析 xml 文件
1 | xmlFilePath = os.path.abspath('test.xml') |
逐层遍历
1 | print(root.tag, root.attrib, root.text) |
根据签名查找需要的标签
1 | item_lists = root.findall('item') # 只能找到儿子, 不能找到孙子, 返回的是儿子们组成的列表 |
获取叶子节点的值
当访问到叶子节点时, 就可以利用 text 来得到相应的标签了
1 | obj_bbox_set |
创建 XML 类型的数据文件
先创建 root Element, 然后创建 SubElement, 最后将 root 传入 ElementTree(element), 创建 tree, 调用 tree.write()
方法写入文件
1 |
|
效果:1
2
3
4
5
6<?xml version='1.0' encoding='utf-8'?>
<note><to>peter</to>
<from>marry</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>