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大元素,每个元素对应 ...
随机推荐
- php面向对象相关内容
1.什么是面向对象? 面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作 ...
- EasyUI datagrid 使用小结
用了 EasyUI 框架一段时间了,这个前端框架用起来还是挺方便的,也有很多现成的控件,看看官方文档应该还是能比较快用起来的. 在这里记录一下一些常用的控件的方法,遇到过的bug或者当初耗了一点时间来 ...
- WPF 自定义RadioButton样式
一.RadioButton基本样式 RadioButton基本样式包含两种状态,这里也是使用两张图片来代替两种状态,当然你也可以通过IconFont或Path来替换这两种状态. 效果如下: 样式代码如 ...
- hadoop2.6.0实践:004 启动伪分布式hadoop的进程
[hadoop@LexiaofeiMaster hadoop-2.6.0]$ start-dfs.shStarting namenodes on [localhost]localhost: start ...
- jsp 九大内置对象和其作用详解
JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1. ...
- oracle中求1到100之间的质数和
declare i number:=1; j number:=0; sum1 number:=0;begin while(i<100) loop i:=i+1; j:=2; while(mod( ...
- H5 仿ios select滚动选择器。框架。
官网上描述的很详细,并且开源,轻量. 有兴趣的可以去尝试官网上的demo写的也很好,并且每个参数也解释的很详细. http://zhoushengfe.com/iosselect/website/in ...
- Hibernate(十一):映射继承关系的三种方案
背景: 在一些项目中,会采用集成的关系来定义数据库实体类,比如:人(Person)与学生(Student),学生来源与人,所以人的基本属性学生也拥有:但学生有的一些属性,人就不具有.人与学生之间很显然 ...
- scrapy选择器主要用法
# 命令行输入:scrapy shell +链接,会自动请求url,得到的相应默认为response,开启命令行交互模式 scrapy shell http://doc.scrapy.org/en/l ...
- CLR-基元类型以及溢出检查
=========(CLR via C#阅读笔记)======== 基元类型(primitive type): 基元类型也不做过多的解释,举个例子即可清晰的辨别 在java里曾使用过Sting s=& ...