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 ...
随机推荐
- BZOJ 1040 骑士(环套树DP)
如果m=n-1,显然这就是一个经典的树形dp. 现在是m=n,这是一个环套树森林,破掉这个环后,就成了一个树,那么这条破开的边连接的两个顶点不能同时选择.我们可以对这两个点进行两次树形DP根不选的情况 ...
- hdu 1851(A Simple Game)(sg博弈)
A Simple Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/65535 K (Java/Others)Tot ...
- POJ1651:Multiplication Puzzle——题解
http://poj.org/problem?id=1651 题目大意:同“乘法游戏”,这里将乘法游戏的题面复制过来. 乘法游戏是在一行牌上进行的.每一张牌包括了一个正整数.在每一个移动中,玩家拿出一 ...
- 洛谷3763:[TJOI2017]DNA——题解
https://www.luogu.org/problemnew/show/P3763 加里敦大学的生物研究所,发现了决定人喜不喜欢吃藕的基因序列S,有这个序列的碱基序列就会表现出喜欢吃藕的性状,但是 ...
- 用live()方法给新增节点绑定事件
jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效. 这个方法是基本是的 .bind() 方法的一个变体.使用 .bind() 时,选择器匹配的元素会附加一个事件 ...
- ACE线程管理机制-并发控制(3)
转载于:http://www.cnblogs.com/TianFang/archive/2006/12/04/581854.html ACE Condition类属 ACE Condition类属(条 ...
- FileProvider记录下
Mark下FileProvider,阿里巴巴Android开发手册有如下要求:[强制]应用间共享文件时,不要通过放宽文件系统权限的方式去实现,而应使用FileProvider. 知识点记录:1. An ...
- STM32之窗口看门狗
1.有个7位递减计数器(WWDG->CR),就这个计数器和窗口计数器(WWDG->CFR)决定什么时候喂狗.狗喂早了,复位——“早”体现在 计数器值(tr)>窗口值(wr),也就是计 ...
- 解决oracle数据库 ora-00054:resource busy and acquire with NOWAIT specified 错误
解决oracle数据库 ora-00054:resource busy and acquire with NOWAIT specified 错误 本人在使用pl/sql developer 客户端调用 ...
- telnet退出
windows下退出telnet:可以参考下面linux退出,也可以直接关闭窗口. linux退出telnet: 1.输入ctrl+]:显示出telnet>. 2.此时可以输入?,查看可以使用的 ...