day23 xml模块、面向对象编程介绍
发布时间:2020-12-16 23:15:44 所属栏目:百科 来源:网络整理
导读:今日内容: 1、xml模块 2、面向对象编程 一、xml模块 什么是xml? xml是一种可扩展的标记语言 xml语言的语法: person name="jack"hello i am a person/person 语法分为三个部分: 标签名(tag): person 属性(attribute):name = "jack",其中属性名为name
今日内容: 一、xml模块 <?xml version="1.0"?> <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year>2008</year> <gdppc>141100</gdppc> <neighbor name="Austria" direction="E"/> <neighbor name="Switzerland" direction="W"/> </country> <country name="Singapore"> <rank updated="yes">5</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor name="Malaysia" direction="N"/> </country> <country name="Panama"> <rank updated="yes">69</rank> <year>2011</year> <gdppc>13600</gdppc> <neighbor name="Costa Rica" direction="W"/> <neighbor name="Colombia" direction="E"/> </country> </data> 对于xml的解析 import xml.etree.ElementTree as ET # 解析整个xml文件 tree = ET.parse("xml1.xml") # 获取根目录 root = tree.getroot() print(root) # <Element ‘data‘ at 0x000001C9AC6B9728> print(root.tag) # 打印根标签的标签名 print(root.attrib) # 显示当前标签的属性,是一个字典 print(root.text) # 显示当前标签的文本内容,是一个字符串 # 显示标签的子孙标签 for tag in root: print(tag) # 对root的子标签进行遍历 for tag in root.findall("country"): print(tag) # 在子标签中查找所有标签名为country的标签 for tag in root.iter(): print(tag) # 对root所有的子孙标签进行遍历 for tag in root.iter(‘country‘): print(tag) # 将子孙中所有标签名为country进行遍历 for tag in root.find("country"): print(tag) # 展示第一个标签名为country的标签下的所有子标签 # 改 # 修改标签得属性、值、增加新标签 for i in root.iter("year"): i.text = str(int(i.text) + 1) # 修改year标签的值 i.set("aaa","1") # 为year标签添加属性 aaa 值为 1 i.set("aaa","heihei") #修改year标签属性的值 tree.write(‘xml2.xml‘) # 将修改后的xml写入文件中 # 删除属性 for i in root.findall(‘country‘): for j in i.findall("year"): i.remove(j) # 只有要被删除的分类有权限删除自类的标签 tree.write(‘xml5.xml‘) # 添加新节点 year2=ET.Element(‘year2‘) # 指定名称 year2.text=‘新年‘ year2.attrib={‘update‘:‘yes‘} #添加 for i in root.findall("country"): root.append(year2) #往country节点下添加子节点 tree.write("xml7.xml") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |