XML 详解
import urllib
import requests
from xml.etree import ElementTree as ET
root = ET.XML(open('D:\E\semantic\\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:\E\semantic\\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:\E\semantic\c.xml')
添加节点
import urllib
import requests
from xml.etree import ElementTree as ET
tree = ET.parse('D:\E\semantic\\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:\E\semantic\\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:\E\semantic\\a.xml',short_empty_elements = False)

浙公网安备 33010602011771号