一.xml模块
什么是xml
是一种标记语⾔言(计算机能识别的文本)
二.xml有 什么用
制定一种 文本书写规范,使得计算机能够轻松识别这些数据 就和python 一样
为什么直接用python语⾔言来进⾏行行传输,计算机识别起来太费劲(语法太 多,变化太复杂)
所以需一种更加简单的解决方案.
三.xml语法标准
1、任何的起始标签都必须有 一个结束标签。
2、可以采 用另 一种简化语法,可以在 一个标签中同时表示起始和结束标签。
这种语法是在⼤大于符号之前紧跟 一个斜线(/),例例如<百度百科词条/>。
XML 解析器器会将其翻译成<百度百科词条></百度百科词条>。
3、标签必须按合适的顺序进⾏行行嵌套,所以结束标签必须按镜像顺序匹配 起始标签。这好⽐比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是 不能关闭外面的括号的。
4、所有的特性都必须有值。
5、所有的特性都必须在值的周围加上双引号。
总结
xml 是 一种数据格式遵循 一定书写规范, 用于多个平台之 间的数据交换,和json的作用是 一样的
python中的xml 学习重点
1.标签的组成
<tagname attributename="value"> text <subtags/> </tagname>
2.数据解析(拿到想要的数据)
3.代码生成xml 文档
了解知识点
1.数据的修改
重点******
数据准备
<studentinfo>
<张三>
<age>20</age>
<gender>man</gender>
</张三>
<李四>
<age>20</age>
<gender>man</gender>
</李四>
</studentinfo>
==========
导 入核⼼心模块
import xml.etree.ElmentTree 表示节点树
===================
数据解析
Elment核心成员
tag attrib text
===========
常用方法
Elment getchildren() 获取所有子标签
find 从子标签中获取名字匹配的第 一个子标签
findall 从子标签中获取名字匹配的所有子标签
iter 从子全 文中中获取名字匹配的所有标签 返回迭代器器
get 获取指定属性的值
append 删除子标签
remove 删除子标签
================
Elmenttree
parse 文本 文件转对象
dump 对象转文本
write 写入
getroot 获取根标签
生成xml
创建节点
添加内容
转为节点树
写入文件
代码如下:
import xml.etree.ElementTree as ElementTree tree=ElementTree.parse("d.xml") #解析文件找到文件 # print(tree) #获取根标签 rootTree=tree.getroot() 三种获取:第一种 iter(查找全文本标签) for item in rootTree.iter("age"): # print(item) print(item.tag) #标签名称 print(item.attrib)#标签属性 print(item.text)#文本内容 ''' # import xml.etree.ElementTree as ElementTree # tree=ElementTree.parse("c.xml") #解析文件找到文件 # rootTree=tree.getroot() # print(rootTree.find("age").attrib) #从当前的字标签找到一个名为age的标签 #找全部标签 # for i in rootTree.findall("age"): # print(i.attrib) # s=rootTree.findall("age") # for i in s : # print(i.attrib) # print(i.tag) import xml.etree.ElementTree as ElementTree tree=ElementTree.parse("c.xml") #解析文件找到文件 rootTree=tree.getroot() for item in rootTree.iter("stu"): print(item.attrib)