一.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)