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的更多相关文章

  1. Python学习笔记--XML的应用

    XML的定义 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被 ...

  2. [python 学习] 使用 xml.etree.ElementTree 模块处理 XML

    ---恢复内容开始--- 导入数据(读文件和读字符串) 本地文件 country_data.xml <?xml version="1.0"?> <data> ...

  3. python学习-52 XML模块

    XML模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但是json使用起来更简单. 例如:创建一个xml文件 <data> <country name=&q ...

  4. 用 ElementTree 在 Python 中解析 XML

    用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...

  5. Python学习资料下载地址(转)

    [转]Python学习资料和教程pdf 开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingwa ...

  6. PYTHON学习之路_PYTHON基础(6)

    学习内容: Python模块介绍 1.time &datetime模块 2.random 3.shutil 4.shelve 5.xml处理 6.configparser 7.hashlib ...

  7. Python学习资料整理以及书籍、开发工具推荐

    我不知道大家学习Python的时候是不是和我一样感觉很无助,不知道在入门或者进阶的时候应该掌握哪些知识点,下面我就梳理下我自己学习Python开 发的过程及资料分享给大家,这些方法资料可能并不适合所有 ...

  8. [转]Python学习资料和教程pdf

    开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingware WingIDE Professio ...

  9. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

随机推荐

  1. oss图片上传失败

    在生产上跑的正常代码,新搭了个测试环境,发现oss上传失败! 开始分析oss是否有以各种类似于白名单的功能,不认识测试域名导致的...结果不是! 改变访问类型 因为oss节点Endpoint是在杭州, ...

  2. Mysql无法启动服务解决办法

    只需要输入:mysqld  --initialize 进行初始化,即可启动

  3. css-test

    transition-content See the Pen NLOgVR by nakata139@gmail.com (@deepblue1982) on CodePen.

  4. macos openssl 生成rsa证书 -mark

    创建私钥 openssl genrsa -out rsa_private_key.pem 1024 创建无密码私钥 openssl pkcs8 -topk8 -inform PEM –nocrypt ...

  5. zabbix告警邮件、短信发送错误快速排查方法

    zabbix告警邮件.短信发送错误快速排查方法 背景 zabbix告警邮件.短信经常有同事反馈发送错误的情况,这个问题排查的角度很多,那么最快捷的角度是什么呢? 在我看来,最快的角度就是判断这个告警邮 ...

  6. 递推(三):POJ中的三道递推例题POJ 1664、POJ 2247和POJ 1338

    [例9]放苹果(POJ 1664) Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. In ...

  7. PHP06 流程控制

    学习要点 选择结构 循环结构 学习目标 掌握PHP的选择结构 掌握PHP的循环结构 流程控制概述 程序 程序:一系列计算机指令的集合. 编程语言:开发程序的工具. 程序执行结构 计算机程序有三种基本执 ...

  8. fio测试nvme性能

    #cat /sys/block/nvme0n1/queue/scheduler none #cat /sys/block/sda/queue/scheduler noop deadline [cfq] ...

  9. Mysql+MHA高可用集群

    http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/

  10. turtle安装问题

    原文来源:https://blog.csdn.net/liudongdong19/article/details/81283942 本人python版本为:Python 3.6.5 在安装turtle ...