python学习之 - XML
xml模块
定义:实现不同语言或程序之间进行数据交换的协议。
格式如下:通过<>节点来区别数据结构
如:<load-on-startup(这个是标签) test="value"(这个是属性)>5(这个是文本)</load-on-startup>
root.tag:打印标签
root.attrib:打印属性
root.text:打印文本
举例:
自定义一个stud.xml文件
首先打印各级信息
import xml.etree.ElementTree as et
tree = et.parse('stud.xml') #文件名
root = tree.getroot() #提取根节点
print(root.tag) #打印根标签
1.#遍历xml文档
for child in root:
print(child.tag,child.attrib,child.text) #打印二级节点标签
for i in child:
print(i.tag,i.attrib,i.text) #打印三级节点标签
2:#查找param-name节点
for node in root.iter('param-name'):
print(node.tag,node.attrib,node.text)
#打印:load-on-startup {} 4
3:# 修改使load-on-startup 值加1
for node in root.iter('load-on-startup'): #遍历
new = int(node.text)+1 #匹配load-on-startup值4加1
node.text = str(new) #将新值5替换源值4
node.set('test','value') #为load-on-startup增加属性(test="value")
tree.write('stud.xml') #将修改保存回xml文件
4: 删除操作
for country in root.findall('country'):
rank = int(country.find('rank').text)
if rank > 50:
root.remove(country)
tree.write('out.xml')
4:#创建xml文件
import xml.etree.ElementTree as et
#创建根节点
rootlist = et.Element('tech')
#创建二级节点
tech = et.SubElement(rootlist,'tech_node',attrib={'name':'tech_center'})
#创建三级节点
dev = et.SubElement(tech,'dev_node',attrib={'name':'dev_center'})
#写内容
dev.text = 'java'
dev.text = 'python'
test = et.SubElement(tech,'test_node',attrib={'name':'test_center'})
test.text = 'program'
#创建二级节点
finance = et.SubElement(rootlist,'finance_node',attrib={'name':'finance_center'})
#创建三级节点
account = et.SubElement(finance,'account_node',attrib={'name':'account_center'})
account.text = 'woman'
#生成文档对象
obj = et.ElementTree(rootlist)
# 写文件,xml_declaration就是自动在xml文件头加声明
obj.write('stud3.xml',encoding='utf-8',xml_declaration=True)
#可选的屏幕打印
et.dump(rootlist)
python学习之 - XML的更多相关文章
- Python学习笔记--XML的应用
XML的定义 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被 ...
- [python 学习] 使用 xml.etree.ElementTree 模块处理 XML
---恢复内容开始--- 导入数据(读文件和读字符串) 本地文件 country_data.xml <?xml version="1.0"?> <data> ...
- python学习-52 XML模块
XML模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但是json使用起来更简单. 例如:创建一个xml文件 <data> <country name=&q ...
- 用 ElementTree 在 Python 中解析 XML
用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...
- Python学习资料下载地址(转)
[转]Python学习资料和教程pdf 开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingwa ...
- PYTHON学习之路_PYTHON基础(6)
学习内容: Python模块介绍 1.time &datetime模块 2.random 3.shutil 4.shelve 5.xml处理 6.configparser 7.hashlib ...
- Python学习资料整理以及书籍、开发工具推荐
我不知道大家学习Python的时候是不是和我一样感觉很无助,不知道在入门或者进阶的时候应该掌握哪些知识点,下面我就梳理下我自己学习Python开 发的过程及资料分享给大家,这些方法资料可能并不适合所有 ...
- [转]Python学习资料和教程pdf
开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingware WingIDE Professio ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
随机推荐
- 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:解决
严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal Contain ...
- Linux系统使用iftop查看带宽占用情况
Linux系统下如果服务器带宽跑满了,查看跟哪个ip通信占用带宽比较多,可以通过iftop命令进行查询,使用方法如下: 1 安装方法[软件官网地址:http://www.ex-parrot.com/~ ...
- 实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时)
/** ****************************************************************************** * @file main.c * ...
- 纯手写的css3正方体旋转效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- FPGA-信号边缘检测
在FPGA逻辑电路中,输入信号的边缘检测是一个常用的操作,这算是FPGA的基本功之一. 信号边缘检测应用十分广泛,例如:通信协议的时序操作,按键的检测等,都应用到按键的检测.按键的检测分为上升沿和下降 ...
- COGS 74. [NOIP2006] 明明的随机数 (Splay小练习。。)
☆ 输入文件:random.in 输出文件:random.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 明明想在学校中请一些同学一起做一项问卷调查,为了 ...
- Charles Petzold 编程界大师,世界顶级技术作家 《CODE》值得阅读
<CODE>The Hidden Language of Computer Hardware and Software 从书内容的第一页开始就惊叹于作者的耐心和责任心 整本书以两个隔街对窗 ...
- (转)配置Spring管理的bean的作用域
http://blog.csdn.net/yerenyuan_pku/article/details/52833477 Spring管理的bean的作用域有: singleton 在每个Spring ...
- System类与两种输入流
1.System类对I/O的支持系统输出System.out.println 是利用了I/O流的模式完成的.实际是打印流PrintStream对象 System类中定义了三个操作的常量 1.标准/系统 ...
- how to use Hexo
Hexo is a good tool to build a personal blog.Here are some good reference:1: https://hexo.io/zh-cn/d ...