代码略
xml.etree.ElementTree(简称ET)
xml.etree.ElementTree模块实现了一个简单而高效的API用于解析和创建XML数据。实际上,xml.etree.ElementTree可以用于处理任何树结构的数据,但最常用于处理XML文档。
1、导入ET
两种导入方式:
①import xml.etree.ElementTree
②import xml.etree.cElementTree(速度更快一点)
如果不确定环境中是否有cElementTree,可以使用如下方式导入:
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
2、解析XML
有两种方式可以解析XML文件:
①从文件中解析XML文件
import xml.etree.cElementTree as ET
tree = ET.ElementTree(file = 'xml路径')
root = tree.getroot() #获取根节点
import xml.etree.ElementTree as ET
tree = ET.parse('xml文件路径')
root = tree.getroot() #获取根节点
#或者
tree = ET.ElementTree()
tree.parse('xml文件路径')
root = tree.getroot()
import xml.etree.ElementTree as ET
data = open('xml文件路径').read()
root = ET.fromstring(data)
read()读取文件中所有的内容,并将其作为一个字符串输出。
fromstring()函数将字符串转换为一个Element,解析树的根节点。
3、
节点.tag——节点名
节点.attrib——节点属性
节点.get('属性名字')——查找相符的节点属性
节点.text——节点文本
节点.tail——节点附加文本
节点[:]——子节点列表
len(节点)——统计子节点个数
4、
节点.findall('子节点名字')——(非递归)查找节点下所有相符的子节点,返回列表
节点.iter('子节点名字')——(递归)查找所有相符的子节点,返回列表
节点.find('子节点名字')——查找节点下第一个相符的子节点
节点.findtext('子节点名字')——查找节点下第一个相符的字节点并返回其text值
5、通过下标直接访问节点
root[0][1]:根节点下的第一个节点下的第二个节点
6、tree.write()写出xml文本