import urllib import requests from xml.etree import ElementTree as ET root = ET.XML(open('D:Esemantic\a.xml','r',encoding = 'utf-8').read()) print(root.tag) for i in root: print(i.tag,i.attrib,i.find('gdppc').text) '''
getroot(找到根)
parse(解析)
get(得到)
set(设置) 給节点设置一个属性 tag(标签) 获取该xml的标签 attrib(属性) 获取标签下的属性 text(文本) 获取指定属性下的文本信息 '''
'''解析文件''' tree = ET.parse('D:Esemantic\a.xml') print(tree) '''得到根 (也就是data)''' root = tree.getroot() print(root) '''循环迭代 得到下一个节点year的信息''' for i in root.iter('year'): '''打印节点的文本''' print(i.text) r = int(i.text)+1 r1 = str(r) print(r1) '''給节点设置属性 set(设置)''' i.set('name','alex') i.set('age','22') ''' 删除该节点的属性 ''' del i.attrib['name'] '''写入信息''' tree.write('D:Esemanticc.xml')
添加节点 import urllib import requests from xml.etree import ElementTree as ET tree = ET.parse('D:Esemantic\a.xml') root = tree.getroot() # for i in root.iter('year'): # print(i.text) # i.set('name','alex') # i.set('wang','ba') # # tree.write('D:Esemantic\a.xml') '''创建节点''' son = root.makeelement('tt',{'kk':'jj'}) zen = son.makeelement('ooo',{'oo':'oo'}) root.append(son) son.append(zen) ''' 创建节点''' elel = ET.Element('ii',{'ii':'ii'}) olol = ET.Element('uu',{'uu':'uu'}) '''先把elel添加到root节点下面,然后把olol添加在elel下面,这样就是子孙了。''' root.append(elel) elel.append(olol) '''short_empty_elements = False 在没有添加文本的情况下强制性 自闭合''' tree.write('D:Esemantic\a.xml',short_empty_elements = False)