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:添加或者修改属性