python中xml模块_python学习第十五天-2(XML模块)

也是一种文本转换形式。

import

xxxxxxxxxxxxxxxxxxx  as

xx,可以用xx代替xxxxxxxxxxxxxxxxxxx模块

xml文件的新增,修改,删除,查询。

新增:​

import xml.etree.ElementTree

as ET​

new_xml=ET.Element('nameList')#创建xml的根节点相当于

name=ET.SubElement(new_xml,'name',attrib={'enrolled':'yes'})#往根节点中添加子节点name,子节点的的属性

age=ET.SubElement(name,'age',attrib={'checked':'no'})#往节点中添加子节点age,子节点的的属性

sex=ET.SubElement(name,'sex')

sex.text='33'

et=ET.ElementTree(new_xml)#生成文档对象,元素树

et.write('文档数据/xml测试',encoding='utf-8')#把文档对象写入道文档中​

​​查询:

tree=ET.parse('文档数据/XML文本')#解析xml文本

root=tree.getroot()#获取xml文本的根节点对象

print(root.tag)#tag用来获取节点的名称

for i in root:

for j in i:

print(j.tag)

print(j.attrib)#attrib用来获取节点的属性

print(j.text)#text用来获取节点的值

for node in

root.iter('sex'):#获取xml中的某一个属性参数

print(node.tag,node.text)

​​修改:

tree=ET.parse('文档数据/XML文本')#解析xml文本

root=tree.getroot()#获取xml文本的根节点对象

​for node in

root.iter('sex'):

new_sex=int(node.text)+1

node.text=str(new_sex)#通过赋值修改值

node.set('updated','yes')#通过set()方法修改属性

tree.write('文档数据/XML文本')#把修改后的树写入xml文本

删除:​

tree=ET.parse('文档数据/XML文本')#解析xml文本

​root=tree.getroot()#获取xml文本的根节点对象

​for name

in root.findall('name'):

#findall()方法找到所有的name对象

​sex=int(name.find('sex').text)#find()方法找到对象中的某个属性

​if

sex>30:

#如果sex值大于30则删除该节点

​root.remove(name)

#通过remove方法删除该节点

​tree.write('文档数据/XML文本')#把修改后的树写入xml文本​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu系统下Java环境JDK的安装

Debian Linux下安装jdk 下载压缩包 官网下载对应的.gz包 点击下载 解压文件 创建一个目录用于存放解压后的文件,并解压缩到该目录下 sudo mkdir /opt/java8 sudo tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/java8修改环境变量 sudo vim ~/.bashrc 进入…

栈溢出笔记1.3 准备Shellcode

经过1.1和1.2节的讲述,我们已经知道了怎样更改EIP的值。程序运行函数之后将跳转到我们设定的位置開始运行,因此,我们须要准备一个自己的程序,接手后面的工作。这是一个什么样的程序?是一个C语言编写的代码?…

DirectShow开发快速入门之慨述

文章来源:http://tech.163.com/school 2005-08-18 10:21:32 来源: 天极网摘要:本篇文档概括性的介绍了DirectShow的主要组成部分,以及一些Directshow的基本概念。熟悉这些基本的知识对于Directshow的应用开发或者过滤器的开发者都会有所帮助…

Android selector中的item的顺序

在selector中,要将默认状态的item放在最后面,因为一旦前面的item满足匹配条件,后面的item就不会去匹配。因此,把默认状态的item放在前面的话,后面的item没有执行的机会转载于:https://www.cnblogs.com/xiaoyuersdch/p/…

权限表使用联合主键吗_天天写 order by,你知道Mysql底层执行流程吗?

前言 在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗?假设你要查询城市是苏州的所有人名字,并且按照姓名进行排序返回前 1000 个人的姓名、年龄,这条 sql 语…

nodejs简介

nodejs是啥? Node.js是运行在服务端的JavaScript。 Node.js是一个基于Chrome JavaScript运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常…

jumpserver v0.4.0 基于 CenOS7 的安装详解

标签(linux): jumpserver 笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流 首首先使用Jumpserver前要理解清楚这三个用户关系: 1.用户: 是指你在web上创建的用户,会在跳板机上创建这个用户,作用就是用…

Node.js中事件的循环

Node.js 事件循环 Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。 Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。 Node.js 基本上所有的事…

python爬boss网站_python之requests爬虫Boss数据

python之requests爬虫Boss数据需要用到的库:reqeusts、lxml没有的可以用直接下载pip install requestspip install lxm这里以python岗位,地点北京为例爬取的数据就是岗位名称、薪资、地点 首先导入需要用到的模块import requestsfrom lxml import etree岗…

live555源代码简介

文章出自:http://blog.csdn.net/imliujie/archive/2008/01/30/2072657.aspx live555源代码简介liveMedia项目的源代码包括四个基本的库,各种测试代码以及IVE555 Media Server。四个基本的库分别是UsageEnvironment&TaskScheduler,groups…

并发无锁队列学习(单生产者单消费者模型)

1、引言 本文介绍单生产者单消费者模型的队列。依据写入队列的内容是定长还是变长,分为单生产者单消费者定长队列和单生产者单消费者变长队列两种。单生产者单消费者模型的队列操作过程是不须要进行加锁的。生产者通过写索引控制入队操作,消费者通过读索…

ecshop 收货人信息电话必填改为手机必填

首先通过在flow.dwt中,查找flow.php?stepconsignee中的关键字 consignee(结算中心)查找所在模板/Library/consignee.lbi 大概57行 把必填去掉,其次 在js/shopping_flow.js里边注释掉 if (Utils.isEmpty(frm.elements[‘tel’].v…

流媒体传输协议

1.流媒体( Streaming Media) 1.1流媒体概念 流媒体技术是网络技术和多媒体技术发展到一定阶段的产物。术语流媒体既可以指在网上传输连续时基媒体的流式技术,也可以指使用流式技术的连续时基媒体本身。在网上传输音频、视频等多媒体信息目前主要有两种方式:下载和流…

关闭浏览器网页触发事件_浅析浏览器渲染和 script 加载

前言前端代码离不开浏览器环境,理解 js、css 代码如何在浏览器中工作是非常重要的。如何优化渲染过程中的回流,重绘?script 脚本在页面中是怎么个加载顺序?了解这些对前端性能优化起着非常大的作用。借着这篇文章,让自…

Open vSwitch实验常用命令

1. 基本架构 ovs-vsctl: 管理ovsdb-server的配置,提供OVSDB的配置方法,包括创建和删除网桥、端口等; ovs-ofctl: 提供ovs-vswitchd的流表配置方法; ovs-dpctl: 配置OVS内核模块,提供缓存流表的操作方法&#xff1b…

记IOS8中碰到的一个JS bug

IOS8的JS版本过低导致 var id "123"; var temp1 {id, "left": "200"}; // error in IOS8 var temp2 {"id":id, "left": "200"};平时还是多写ES5的代码,es6的语法总能碰到兼容的坑。 改了好几天。…

Emmet的html语法

Emmet的html语法 所有操作按下“tab”键即可瞬间完成 元素 1.在编辑器中输入元素名称,即可自动补全生成 HTML 标签,即使不是标准的 HTML 标签。 2.输入:! 或者 html:5 或者 html:4s 或者 html:4t 将自动补全html基本结构 嵌套操作 1.使用…

RTP Payload Format for H.264 Video

H.264 RTP协议的封装格式rfc3984 英文原版:http://tools.ietf.org/html/rfc3984 部分中文翻译: H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NAL单元1字节包头负载 NALU 头由一个字节组成, 它的语法如下: —————|0|1|2|3|4|5|6|7|------…

js字符串、数组和数字常用方法总结

https://github.com/AnHyun/blog/issues/3 一、string 常用方法: 1.substring(start开始位置的索引,end结束位置索引) 截取的位置不包含结束位置的字符,只写一个参数表示从开始位置截取到最后,输入负值时将负值变为0,哪个较小作为开始位置 va…

Oracle 存储过程错误之PLS-00201: 必须声明标识符

转自:http://blog.csdn.net/u010678947/article/details/20702149 错误: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符ZUO.PROCE_TESTORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 解决方法: (1&#x…