Python中模块之xml的讲解
xml模块的功能介绍
这里主要讲解xml模块下的etree.ElementTree类。
1. 创建
具体代码如下
import xml.etree.ElementTree as XM
namelist1 = XM.Element("namelist1")#创建标签
name1 = XM.SubElement(namelist1,"name",attrib={"enrolled":"yes"})#创建子标签
age1 = XM.SubElement(name1,"age",attrib={"checked":"33"})#创建下一级子标签
sex1 = XM.SubElement(name1,"sex",)#创建最后一级子标签
sex1.text = 'man'#对最后一级子标签添加text属性
name2 = XM.SubElement(namelist1,"name",attrib={"enrolled":"no"})
age2 = XM.SubElement(name2,"age",attrib={'actual':'19'})
sex2 = XM.SubElement(name2,'sex')
sex2.text = 'gril'
et = XM.ElementTree(namelist1) #生成文档对象
et.write("test.xml", encoding="utf-8",xml_declaration=True)
XM.dump(namelist1) #打印生成的格式
2. 修改
具体代码如下
xm_data = XM.parse('test.xml')
data_root = xm_data.getroot()#获取第一级标签
for i in data_root.iter('sex'):
i.text = 'Super' + i.text
# for j in data_root.iter('age'):#遍历出的属性为字典类型,可参考字典修改方法进行修改。
# print(j.attrib)
xm_data.write('test.xml')
3. 查询
具体代码如下
xm_data = XM.parse('test.xml')
data_root = xm_data.getroot()#获取第一级标签
print(data_root)
for name in data_root:#遍历第一级标签
print(name.tag,name.attrib)
for age in name:#遍历第二级标签
print(age.tag,age.text)
for names in data_root.iter('name'):#过滤性变遍历
print(names.tag,names.text)
4. 删除
具体代码如下 xmdata = XM.parse('test.xml') dataroot = xmdata.getroot()#获取第一级标签 for name in dataroot: for age in name.findall('age'): if age.attrib.get('actual'): name.remove(age) xm_data.write('test.xml')
Python中模块之xml的讲解的更多相关文章
- python 之模块之 xml.dom.minidom解析xml
# -*- coding: cp936 -*- #python 27 #xiaodeng #python 之模块之 xml.dom.minidom解析xml #http://www.cnblogs.c ...
- python常用模块之xml模块
python常用模块之xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,在json还没诞生的年代,大家都是使用xml,目前很多传统公司的系 ...
- Python中模块之os的功能介绍
Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
- [python]关于在python中模块导入问题追加总结
[背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...
- [笔记]Python中模块互相调用的例子
python中模块互相调用容易出错,经常是在本地路径下工作正常,切换到其他路径来调用,就各种模块找不到了. 解决方法是通过__file__定位当前文件的真实路径,再通过sys.path.append( ...
- python中模块、包、库的区别和使用
模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块. 包:在模块之上的概念,为了方便管理而将文件进行打包.包目录下第一个文件便是 __init__.py,然后是一些模块文件和 ...
- 关于python中模块的import路径
前两天被一个同事问了一个python的问题: 为什么一个目录里的python文件引用不要另一个兄弟目录的python文件,但是这两个目录的父母录运行时是可以引用到了.当时感觉一直是模块和包的机制问题, ...
- Python中模块之time&datetime的功能介绍
time&datetime的功能介绍 1. time模块 1. 时间的分类 1. 时间戳:以秒为单位的整数 2. 时间字符格式化:常见的年月日时分秒 3. 时间元祖格式:9大元素,每个元素对应 ...
随机推荐
- 验证码进阶(TensorFlow--基于卷积神经网络的验证码识别)
本人的第一个深度学习实战项目,参考了网络上诸多牛人的代码,在此谢过,因时间久已,不记出处,就不一一列出,罪过罪过. 我的数据集是我用脚本在网页上扒的,标签是用之前写的验证码识别方法打的.大概用了400 ...
- 第二章 Idea搭建maven
第二章 Idea搭建maven 1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME(MAVEN_HOME)的环境变量,然后 ...
- Web Api 过滤器之 AuthorizationFilter 验证过滤器
该过滤器是最先执行的过滤器,即使把它放在最后 API [MyActionFilter] [MyExceptionFilter] [MyAuthorize] public void Get() { Tr ...
- NoSQL&MongoDB
MongoDB: Is NoSQL(技术的实现,并非是一个特定的技术,与RMDS对立):Not only SQL 大数据问题:BigData,eg:同时访问几个页面,代码实现几个页面访问量的大小? F ...
- 以太坊挖矿源码:clique算法
上文我们总结了以太坊最主要的共识算法:ethash算法,本文将重点分析以太坊的另一个共识算法:clique. 关键字:clique,共识算法,puppeth,以太坊地址原理,区块校验,认证结点,POA ...
- (java基础)Java输入输出流及文件相关
字节流: 所有的字节输入输出都继承自InputStream和OutputStream,通常用于读取二进制数据,最基本单位为单个字节,如图像和声音.默认不使用缓冲区. FileInputStream和F ...
- JSON(一)——JSON与JavaScript的关系
JSON是一种轻量级的数据交换格式,全称--JavaScript 对象表示法(JavaScript Object Notation). 类比XML,你可以把JSON看作是一种存储数据的格式类型,一种数 ...
- 通过java把excel内容上传到mysql
mysql 表列名 num1,num2,num3,num4,num5,num6 表名Excle 上传的方法 package com.web.connection; import java.io.Fi ...
- JavaScript 以及 css3进度条
JavaScript css3进度条 使用css3实现进度条 <!DOCTYPE html> <html lang="en"> <head> & ...
- Hive:把一段包含中文的sql脚本粘贴到beeline client运行中文乱码
背景: 在做项目过程中不可能hive表中都是非中文字段.在最近做的项目中就遇到需要在beeline界面上执行查询脚本,但脚本中包含中文,正常一个脚本用文本写好后,粘贴到beeline窗口运行时,发现中 ...