首页 / XML / Python xml模块
Python xml模块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python xml模块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3293字,纯文字阅读大概需要5分钟。
内容图文
![Python xml模块](/upload/InfoBanner/zyjiaocheng/836/9d95c7bd02ef479c9c844fa54f7a38be.jpg)
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单
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协议在各个语言里的都是支持的,在python中可以用以下模块操作xml:
打开xml文件:
import xml.etree.ElementTree as ET tree = ET.parse("xml_test.xml") # 打开xml_test文件 root = tree.getroot() # 获取内存地址 print(root) print(root.tag) # 标签名 # 遍历xml文档 for child in root: print(child.tag, child.attrib) # 打印二级标签和属性 for i in child: print(i.tag, i.text) # 打印三级标签和内容 # 只遍历year 节点 for node in root.iter('year'): print(node.tag, node.text) # 打印指定标签和内容
修改xml文件:
import xml.etree.ElementTree as ET tree = ET.parse("xml_test.xml") # 打开文件 root = tree.getroot() # 获取地址 # 修改 for node in root.iter('year'): # 寻找所有year标签 new_year = int(node.text) + 1 # 给所有year加一 node.text = str(new_year) node.set("updated", "yes") # 添加属性updated = yes tree.write("xml_test.xml") # 写回原文件 # 删除node for country in root.findall('country'): # 寻找所有country标签 rank = int(country.find('rank').text) # 找到rank if rank > 50: root.remove(country) # 删除满足条件的country标签 tree.write('output.xml') # 写回原文件
创建xml文件:
import xml.etree.ElementTree as ET new_xml = ET.Element("namelist") # 根节点:namelist person_info = ET.SubElement(new_xml, "person_info", attrib={"enrolled": "yes"}) # namelist的子节点:person_info name = ET.SubElement(person_info, "name") # person_info的子节点:name age = ET.SubElement(person_info, "age", attrib={"checked": "no"}) # person_info的子节点:age,属性:checked= "no" sex = ET.SubElement(person_info, "sex") # person_info的子节点:sex name.text = 'dbf-' # name为dbf- age.text = '18' # age为18 person_info2 = ET.SubElement(new_xml, "person_info", attrib={"enrolled": "no"}) # person_infolist的子节点:person_info2 age = ET.SubElement(person_info2, "age") # person_info的子节点:age age.text = '19' # age为19 et = ET.ElementTree(new_xml) # 生成文档对象 et.write("test.xml", encoding="utf-8", xml_declaration=True) # 打开文件并写入 ET.dump(new_xml) # 打印生成的格式
内容总结
以上是互联网集市为您收集整理的Python xml模块全部内容,希望文章能够帮你解决Python xml模块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。