博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XML模块增删改查基本操作
阅读量:6871 次
发布时间:2019-06-26

本文共 1610 字,大约阅读时间需要 5 分钟。

增:新建一个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,拿到文件内容,赋值给roottree = 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.tagfor 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)

 

转载于:https://www.cnblogs.com/jackfree/p/9715467.html

你可能感兴趣的文章
jenkins 神奇变量
查看>>
Linux 输出文件列数,拼接文件
查看>>
迷你MVVM框架 avalonjs 学习教程2、模块化、ViewModel、作用域
查看>>
atitit.避免NullPointerException 总结and 最佳实践 o99
查看>>
uGUI练习(七) Drag And Drop
查看>>
kernel32.dll出错解决方案
查看>>
白话经典算法系列之七 堆与堆排序
查看>>
DevExpress,LayoutControl,TreeList,GridControl等
查看>>
安卓高手之路之PackageManagerservice
查看>>
noise_process.c
查看>>
Chrome调试大全--转载
查看>>
AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载
查看>>
[转]WinForm如何调用Web Service
查看>>
android onTouch()与onTouchEvent()的区别
查看>>
SSH框架总结(框架分析+环境搭建+实例源代码下载)
查看>>
Linux ln命令具体解释及使用
查看>>
敏捷软件开发模型--SCRUM
查看>>
大容量数据库对表做分割
查看>>
2014/11/06 Oracle触发器初步 2014-11-06 09:03 49人阅读 评论(0) ...
查看>>
TCP/IP, WebSocket 和 MQTT
查看>>