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学习笔记——基础篇[第二周]——解释器.字符串.列 ...
随机推荐
- Android(java)学习笔记158:多线程断点下载的原理(JavaSE实现)
1. 为什么需要多线程下载? 服务器的资源有限,同时的平均地分配给每个客户端.开启的线程越多抢占的服务的资源就越多,下载的速度就越块. 2. 下载速度的限制条件? (1)你的电脑手机宽带的带宽 ...
- 为什么要使用spl_autoload_unregister
最近学习 laravel 源码,发现他的 autoload_real.php 里面有一段: spl_autoload_register(array('ComposerAutoloaderInit290 ...
- 网新恩普(W 笔试)
选择题 1.一桶有黄色,绿色,红色三种,闭上眼睛抓取同种颜色的两个.抓取多少个就可以确定你肯定有两个同一颜色的球? 答案: 4次 1.最坏打算抓3次都是不同颜色的黄.绿.红,此时,三种颜色的球各抓了一 ...
- 获取指定点的RGB值
实现效果: 知识运用: Color对象的RGB属性 实现代码: private void button1_Click(object sender, EventArgs e) { OpenFileDia ...
- postman使用--批量执行测试用例和数据驱动
批量执行 在我们测试接口的时候,有时候希望执行所有的测试用例,前面讲的都是测试单个的接口,postman提供了我们批量执行接口的功能 点击Runner 然后我们点击run 执行完会统计出我们的结果,失 ...
- ubuntu 18.04 start myproject
#!/bin/bash now=$(date +%Y%m%d) cmd='/home/hu/go/src/github.com/coredns/coredns/coreserver -conf /ho ...
- 将中文库导入到ARM板子中以解决中文显示乱码的教程
1.将中文字符集导入到ARM板子中的/usr/fonts/目录下 在这里我们使用的字符集为:DroidSansFallback.ttf 下载地址为:https://pan.baidu.com/s/1e ...
- Educational Codeforces Round 59 (Rated for Div. 2) (前四题)
A. Digits Sequence Dividing(英文速读) 练习英语速读的题,我还上来昏迷一次....只要长度大于2那么一定可以等于2那么前面大于后面就行其他no 大于2的时候分成前面1个剩下 ...
- UVA12633 Super Rooks on Chessboard
题目描述 题解: 第一眼满眼骚操作,然后全部否掉. 然后屈服于题解,才发现这题这么执掌. 首先,如果这个东西是普通的车,那我们可以记录一下$x,y$的覆盖情况,然后减一下; 但是这个可以斜着走. 所以 ...
- PyQt5-Python3-PyCharm 配置
File->Tools->External Tools->add 配置ui文件转换工具 Name: PyUIC Program: D:\develop\python\Mac\venv ...