码迷,mamicode.com
首页 > 其他好文 > 详细

XML模块增删改查基本操作

时间:2018-09-27 22:02:25      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:write   for   country   模块   int   文件   move   格式   date   

增:新建一个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模块增删改查基本操作

标签:write   for   country   模块   int   文件   move   格式   date   

原文地址:https://www.cnblogs.com/jackfree/p/9715467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!