也是一种文本转换形式。
import
xxxxxxxxxxxxxxxxxxx as
xx,可以用xx代替xxxxxxxxxxxxxxxxxxx模块
xml文件的新增,修改,删除,查询。
新增:
import xml.etree.ElementTree
as ET
new_xml=ET.Element('nameList')#创建xml的根节点相当于
name=ET.SubElement(new_xml,'name',attrib={'enrolled':'yes'})#往根节点中添加子节点name,子节点的的属性
age=ET.SubElement(name,'age',attrib={'checked':'no'})#往节点中添加子节点age,子节点的的属性
sex=ET.SubElement(name,'sex')
sex.text='33'
et=ET.ElementTree(new_xml)#生成文档对象,元素树
et.write('文档数据/xml测试',encoding='utf-8')#把文档对象写入道文档中
查询:
tree=ET.parse('文档数据/XML文本')#解析xml文本
root=tree.getroot()#获取xml文本的根节点对象
print(root.tag)#tag用来获取节点的名称
for i in root:
for j in i:
print(j.tag)
print(j.attrib)#attrib用来获取节点的属性
print(j.text)#text用来获取节点的值
for node in
root.iter('sex'):#获取xml中的某一个属性参数
print(node.tag,node.text)
修改:
tree=ET.parse('文档数据/XML文本')#解析xml文本
root=tree.getroot()#获取xml文本的根节点对象
for node in
root.iter('sex'):
new_sex=int(node.text)+1
node.text=str(new_sex)#通过赋值修改值
node.set('updated','yes')#通过set()方法修改属性
tree.write('文档数据/XML文本')#把修改后的树写入xml文本
删除:
tree=ET.parse('文档数据/XML文本')#解析xml文本
root=tree.getroot()#获取xml文本的根节点对象
for name
in root.findall('name'):
#findall()方法找到所有的name对象
sex=int(name.find('sex').text)#find()方法找到对象中的某个属性
if
sex>30:
#如果sex值大于30则删除该节点
root.remove(name)
#通过remove方法删除该节点
tree.write('文档数据/XML文本')#把修改后的树写入xml文本