XML模塊增刪改查基本操作
阿新 • • 發佈:2018-09-27
讀取 try element utf-8 文檔 ldo nco nbsp 基本
增:新建一個xml文件,把數據寫進去
# 怎麽生成一個xml文件? # 1,導入模塊 import xml.etree.ElementTree as et # 2, 定義節點 root = et.Element(‘namelist‘) # 3,定義節點下相應的值和屬性 name = et.SubElement(root,‘name‘,attrib={‘enroll‘:‘yes‘}) # 問題:attrib是什麽,設置了有什麽用? age = et.SubElement(root,‘age‘,attrib={‘check‘:‘no‘}) sex = et.SubElement(name,‘sex‘) n = et.SubElement(name,‘name‘) # 4,給定義的節點和值 賦值元素 name.text = ‘jack‘ age.text = ‘18‘ sex.text = ‘male‘ n.text = ‘sexname‘ # 5, 把上面寫的節點和值賦給doc,生成文檔對象 doc = et.ElementTree(root) # 6, 把生成的文檔寫入文件 doc.write(‘xmldoc.xml‘,encoding=‘UTF-8‘,xml_declaration=True) # 7, 打印生成格式 et.dump(doc)
改:
# 修改xml的內容# 1,拿到文件內容,賦值給root tree = et.parse(‘xml test.xml‘) # 載入硬盤數據 root = tree.getroot() # 獲取節點 # 2,對至或者元素修改 for i in root.iter(‘year‘): # iter把year至找出來 new_year = int(i.text) + 1 # i.text找出對應元素,賦給變量 i.text = str(new_year) # 把變量值寫回去 i.set(‘updated‘,‘yes‘) # 設置屬性i.set() # 3, 修改後的內容tree寫回文件tree.write(‘E:xml test.xml‘)
刪:
刪除xml的內容 # 1, root.remove(n)刪除 for country in root.findall(‘country‘): # 找到country節點 rank = int(country.find(‘rank‘).text) # 把拿到country節點的值 if rank > 50: # 條件判斷 root.remove(country) # 刪除節點 # 2, 寫回文件 tree.write(‘output.xml‘)
查:
# 查詢怎麽操作? # 1,導入模塊 import xml.etree.ElementTree as ET # 2.把xml文件打開 xml = ET.parse(‘xml test‘) # parse的作用是什麽? 把載入硬盤數據 # 3,把文件裏的數據讀取並付給一個變量,以便進行查詢操作 root = xml.getroot() # getroot()作用是什麽? 獲取根節點和數據 # 4, 循環root,打印節點i.tag for i in root: print(i.tag) # 5, 打印節點的值i.attrib print(i.attrib) # 6, 打印節點的值裏對應的元素---用先循環root,再循環一次到裏面的層,拿到.text的值 for i in root: print(‘------------i.tag‘) for j in i: print(j.text)
XML模塊增刪改查基本操作