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)

  

posted @ 2016-12-28 17:20  200ML  阅读(172)  评论(0编辑  收藏  举报