1. 程式人生 > >XML模塊增刪改查基本操作

XML模塊增刪改查基本操作

讀取 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模塊增刪改查基本操作