天天看点

#yyds干货盘点#python使用技巧之ElementTree

xml.etree.ElementTree模块实现了一个简单高效的API,用于解析和创建XML数据。XML是一种继承性的分层数据格式,最自然的表示方法是使用树。为此ET有两个类--ElementTree将整个XML文档表示为一个树,Element表示该树中的单个节点。与整个文档的交互(读写文件)通常在ElementTree级别完成。与单个XML元素及其子元素的交互是在Element级别完成的。

建立文件test.xml

<?xml version="1.0"?>
<root name="aa">
   <books name="xx">
       <book>
           <name>python入门</name>
           <page>345</page>
       </book>
       <book>
           <name>python深入</name>
           <page>456</page>
       </book>
   </books>
</root>      

读取xml文件

import xml.etree.ElementTree as ET

tree = ET.parse('test.xml')
root = tree.getroot()      

该元素是已解析树的根元素,作为Element,root具有标签和属性字典:

1、tag:节点的名称

2、attrib:返回字典,key为属性名,value为属性值

3、text:节点里面的内容

迭代节点

for child in root:
    print(child.tag,child.attrib)      

修改xml文件

ElementTree提供了一种构建XML文档并将其写入文件的简单方法。调用ElementTree.write方法就可以实现。创建后可以直接操作Element对象。例如:使用Element.text修改文本字段,使用Element.set方法添加和修改属性,以及使用Element.append添加新的子元素,通过write方法写入文件。

root.set('name','bb')
tree.write('test.xml')      

修改方法有:

1、set:添加或者修改属性