ElementTree库

如果纯新手,建议先去B站搜一下相关讲解视频,有一定大体了之后在学习。

1导入库

import xml.etree.ElementTree  as ET

2实例化对象

tree = ET.ElementTree()
tree.parse("test.xml")
root = tree.getroot() #获取所有节点
root.tag  #该节点的标签
root[0].tag #该节点第一个子节点的标签
root[0][0][1][0] #该节点的一子节点的一子节点的二子节点的一子节点的。但是没必要这样,直接find(),findall()即可。
val = root.find('root.tag').text #标签里的内容
root.attrib #节点属性
len(root) #该节点所包含的子节点数
root.find('name').text #访问该标签里的内容,注意字符串要和标签一致。

链接1
Python官方文档

示例

XML文档,test.xml



  
    1
    2008
    141100
    
    
  
  
    4
    2011
    59900
    
  
  
    68
    2011
    13600
    
    
  

解析代码

import xml.etree.ElementTree as ET

tree = ET.ElementTree()  #实例化
tree.parse('test.xml') #解释文档
root = tree.getroot() #获取所有节点
print(root.tag)#获取第一个标签 data
print(len(root)) #获得root有多少个一级子节点,即3个country子节点
countrys = root.findall('country') #找到所有的country标签,并返回一个列表list存取位置信息
print(countrys[0].attrib) #第0位置标签的属性
print(countrys[1].attrib) #第1位置标签的属性

#通过for循环
for country in countrys:    
	print(country.attrib)

print(countrys[0].find('rank').text) #通过标签寻找下一个子节点
print(countrys[1].find('rank').text) #通过标签寻找下一个子节点

你可能感兴趣的:(Python)