import xml.etree.ElementTree as ET
tree =ET.parse('xml_lesson')
root = tree.getroot()
print(root.tag)
获得根的名字
<data>
<country name=‘china’> country 为标签那么为属性
<neighbor name='' direction=''>neighbor 为标签direction为属性
</data>
import xml.etree.ElementTree as ET
tree =ET.parse('xml_lesson')
root = tree.getroot()
print(root.tag)
for i in root:
print(i)#i为地址 指向一个对象
print(i.tag)#打印出的为标签名字
print(i.attrib)#打印一个标签的属性 以字典方式显示
for j in i:
print(j.tag)#打印节点下一级标签名字
print(i.text) # text 为标签包含内容<>text</>
#遍历节点查看
for node in root.iter('year'):
print(node.tag,node.text)
#roor 为总结点 便利文档找以year为标签的tag 和 text
#修改
#更改text
for node in root.iter('year'):
new_year = int(node.text) + 1
node.text = str(new_year)
#更改属性名和属性(updated和yes可以换成其他)
node.set('updated','yes')
#还需要写入 写入名称可以与原名相同也可以不同
#写原名就从新覆盖原内容
tree.write('abc.xml')
#删除node
#find 和 findall招标签 findall 可以找多个
for country in root.findall('country'):
rank = int(country.find('rank').text)
if rank >50:
root.remve(country)
#自己如何创建一个xml数据
import xml.etree.ElementTree as ET
#创建一个总结点
new_xml =ET.Element('namelist')
#<namelist>
# <name enrolled='yes'>33</name>
#
# </namelist>
#创建子标签 1操作对象 2插入name标签 3,name 标签属性
name=ET.SubElement(new_xml,'name',attrib={('enrolled'):'yes'})
name.text = 33
et = ET.ElementTree(new_xml) #生成新的文档对象
et.write('test.xml',encoding='utf-8',xml_declaration=True)
ET.dump(new_xml)#打印生成的格式