首页 > 代码库 > python成长之路19——XML和requests
python成长之路19——XML和requests
一、XML
XML是实现不同语言或程序之间进行数据交换的协议,XML文件格式如下:
<data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year>2023</year> <gdppc>141100</gdppc> <neighbor direction="E" name="Austria" /> <neighbor direction="W" name="Switzerland" /> </country> <country name="Singapore"> <rank updated="yes">5</rank> <year>2026</year> <gdppc>59900</gdppc> <neighbor direction="N" name="Malaysia" /> </country> <country name="Panama"> <rank updated="yes">69</rank> <year>2026</year> <gdppc>13600</gdppc> <neighbor direction="W" name="Costa Rica" /> <neighbor direction="E" name="Colombia" /> </country> </data>
1.解析XML
1 from xml.etree import ElementTree as ET 2 3 #解析方式一: 4 #利用ElementTree.XML将字符串解析成xml对象 5 #打开文件,读取XML内容 6 str_xml=open(‘s1.xml‘,‘r‘).read() 7 8 #将字符串解析成xml特殊对象,root代指xml文件的根节点 9 root=ET.XML(str_xml) 10 print(root) 11 12 ######################################### 13 14 #解析方式二: 15 #利用ElementTree.parse将文件直接解析成xml对象 16 tree=ET.parse(‘s1.xml‘) 17 18 #获取xml文件的根节点 19 r=tree.getroot() 20 print(r) 21 22 执行结果: 23 <Element ‘data‘ at 0x10193db38> 24 <Element ‘data‘ at 0x101a20868>
2.操作XML
XML格式类型是节点嵌套节点,对于每一个节点均有一下功能,一边对当前节点进行操作:
1 假设节点是---node 2 3 node.tag #当前节点的标签名 4 node.attrib #当前节点的属性 5 node.text #当前节点的内容 6 7 mekeelement(tag,attrib) #创建一个新节点 8 copy() #复制节点 9 append(subelement) #为当前节点追加一个子节点 10 extend(elements) #为当前节点扩展n个子节点 11 insert(index,subelement) #在当前节点的子节点中插入某个节点,即:为当前节点创建子节点,然后插入指定位置 12 remove(subelement) #删除当前节点的某个子节点 13 find(path,namespaces=None) #获取第一个寻找到的子节点 14 findtext(path,default=None,namespaces=None)#获取第一个寻找到的子节点的内容 15 findall(path,namespaces=None) #获取所有的子节点 16 iterfind(path,namespaces=None) #获取所有指定的节点,并创建一个迭代器 17 clear() #清空节点 18 get(key,default=None) #获取当前节点的属性值 19 set(key,value) #为当前节点设置属性值 20 keys() #获取当前节点所有属性的key 21 items() #获取当前节点的所有属性值,每个属性都是一个键值对 22 iter(tag=None) #当前节点的子孙中根据节点名称寻找所有指定的节点,并返回一个迭代器 23 itertext() #在当前节点的子孙中根据节点名称寻找所有指定的节点的内容,并返回一个迭代器
python成长之路19——XML和requests
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。