Python3 xml模块的增删改查
xml数据示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<data> <country name = "Liechtenstein" > <rank updated = "yes" > 2 < / rank> <year updated_by = "Alex" > 2009 < / year> <gdppc> 141100 < / gdppc> <neighbor direction = "E" name = "Austria" / > <neighbor direction = "W" name = "Switzerland" / > < / country> <country name = "Singapore" > <rank updated = "yes" > 5 < / rank> <year updated_by = "Alex" > 2012 < / year> <gdppc> 59900 < / gdppc> <neighbor direction = "N" name = "Malaysia" / > < / country> <country name = "Panama" > <rank updated = "yes" > 69 < / rank> <year updated_by = "Alex" > 2012 < / year> <gdppc> 13600 < / gdppc> <neighbor direction = "W" name = "Costa Rica" / > <neighbor direction = "E" name = "Colombia" / > <info> <population> 8 < / population> <size> 960 < / size> < / info> < / country> < / data> |
xml数据处理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import xml.etree.ElementTree as ET '''xml 数据的处理 ''' tree = ET.parse( "xmltest.xml" ) root = tree.getroot() #数据内存地址 print (root.tag) #标签 '''遍历所有数据''' for i in root: print (i.tag,i.attrib) #attrib 获取属性名 for k in i: print (k.tag,k.attrib,k.text) #text 文本内容 ''' 遍历某一个标签的值 ''' for ta in root. iter ( "year" ): print (ta.tag,ta.attrib,ta.text) |
XML数据的创建
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
'''xml 数据的创建 ''' new_xml = ET.Element( "personinfolist" ) #Element 根节点 personinfo = ET.SubElement(new_xml, "personinfo" , attrib = { "enrolled" : "yes" }) name = ET.SubElement(personinfo, "name" ) #SubElement 子节点 name.text = "Alex Li" age = ET.SubElement(personinfo, "age" , attrib = { "checked" : "no" }) sex = ET.SubElement(personinfo, "sex" ) age.text = '56' personinfo2 = ET.SubElement(new_xml, "personinfo" , attrib = { "enrolled" : "no" }) name = ET.SubElement(personinfo2, "name" ) name.text = "Oldboy Ran" age = ET.SubElement(personinfo2, "age" ) age.text = '19' et = ET.ElementTree(new_xml) # 生成文档对象 et.write( "test.xml" , encoding = "utf-8" , xml_declaration = True ) """ xml_declaration 声明xml文件类型 """ ET.dump(new_xml) # 打印生成的格式 |
XML数据的修改
1
2
3
4
5
6
7
8
9
10
11
12
13
|
'''xml 数据的修改 ''' for node in root. iter ( 'year' ): new_year = int (node.text) + 1 node.text = str (new_year) node. set ( "updated_by" , "Alex" ) tree.write( "xmltest.xml" ) # 删除node for country in root.findall( 'country' ): rank = int (country.find( 'rank' ).text) if rank > 50 : root.remove(country) tree.write( 'output.xml' ) |
Python3 xml模块的增删改查的更多相关文章
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
- 基于pymysql模块的增删改查
上课笔记 重点:(熟练)多表查询创建存储过程原生sql索引原理 pymysql 封装好的客户端cursor 底层就是一个send操作commit 告诉mysql真的要完成修改操作(不然修改不会生效)e ...
- 使用dom4j对xml文件进行增删改查
1.使用dom4j技术对dom_demo.xml进行增删改查 首选要下载dom4j的jar包 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/ ...
- XML(五)dom4j增删改查
book2.xml <? xml version="1.0" encoding="UTF-8"?> <书架> <书> < ...
- python3连接MySQL实现增删改查
PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装. PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL. 如果还未安 ...
- 用pickle模块实现“增删改查”的简易功能
pickle的作用: 1:pickle.dump(dict,file)把字典转为二进制存入文件. 2:pickle.load(file)把文件二进制内容转为字典 import pickle # 增 d ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- java图书管理的一个小模块(增删改查,不使用数据库)
图书管理模块:某图书管需要对图书进行信息化管理,要求管理员能够进行新增图书,能按照书名进行模糊查看图书能进行价格统计 系统实现如下:1.新增2.查询3.统计价格 1请输入新书:图书号,书名,作者,价格 ...
- dom4j解析xml文档(增删改查)
package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...
随机推荐
- lucene 学习之基础篇
一.什么是全文索引 全文检索首先将要查询的目标文档中的词提取出来,组册索引(类似书的目录),通过查询索引达到搜索目标文档的目的,这种先建立索引,再对索引进行搜索的过程就叫全文索引. 从图可以看出做全文 ...
- 细说匿名内部类引用方法局部变量时为什么需要声明为final
一.前言 在研究公司某个项目的源码,看到前人使用了挺多内部类,内部类平时我用的比较多的是匿名内部类,平时用的多的是匿名内部类,其他形式的用的比较少,然后我就有个疑惑:到底内部类是基于什么样的考虑,才让 ...
- stm32的两种固件下载模式:JTAG和SWD
一.JTAG模式 这种模式一般有10pin的.14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的.值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来 ...
- RT-thread内核之互斥量
一.互斥量控制块:在include/rtdef.h中 #ifdef RT_USING_MUTEX /** * Mutual exclusion (mutex) structure */ struct ...
- html的head内标签
ctrl+?:自动注释 ctrl+/: 注释多行,再按一次,取消注释的多行. 一,*********本地测试的方法:1-找到文件路径,直接浏览器打开:2-pycharm打开测试. 二,模板的解释: ...
- CenOS shell脚本
1.先查看脚本解释器 [es@bigdata-senior01 ~]$ echo $SHELL /bin/bash 2.编写最简单的脚本 vi test.sh#第一行的脚本声明(#!)用来告诉系统使用 ...
- 【刷题】BZOJ 4827 [Hnoi2017]礼物
Description 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一个送给她.每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度.但是在 ...
- BZOJ1876:[SDOI2009]SuperGCD——C++高精度良心题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1876 Description Sheng bill有着惊人的心算能力,甚至能用大脑计算出两个巨大的数 ...
- Mac添加锁屏快捷键
Mac要想添加锁屏快捷键,必须使用Automator. 1. 打开Automator,创建一个新的服务. 2. 在左侧栏中找到 启动屏幕保护 ,将其拖曳到右侧窗口内,并且修改 服务收到改为" ...
- 直通BAT面试算法精讲课2
对于一个int数组,请编写一个冒泡排序算法,对数组元素排序. 给定一个int数组A及数组的大小n,请返回排序后的数组. 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] clas ...