XML模块

xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但是json使用起来更简单。

例如:创建一个xml文件

<data>
<country name="china">
<rank updated="yes">1</rank>
<year>2019</year>
<neighbor name="American"/>
</country>
<country name="Canada">
<rank updated="yes">2</rank>
<year>2019</year>
<neighbor name="American"/>
</country>
</data>

查询内容

import xml.etree.ElementTree as ET

tree = ET.parse("xml")
root = tree.getroot()
print(root.tag)
print('__________________') # 查 for a in root: # 遍历根
print(a.tag)
print(a.attrib) for b in a : # 遍历根的下一级
print(b.text) for node in root.iter('year'): #遍历节点,取year的内容
print(node.tag,node.text)

运行结果:

data
__________________
country
{'name': 'china'}
2
2019
None
country
{'name': 'Canada'}
2
2019
None
year 2019
year 2019 Process finished with exit code 0

修改和删除

import xml.etree.ElementTree as ET

tree = ET.parse("xml")
root = tree.getroot() # 修改 for node in root.iter("year"):
new_year = int(node.text) + 1 # 年份加1
node.text = str(new_year)
node.set("updated","yes") # 多加一个属性
tree.write("xml_text.xml") # 放到一个新的文件里 # 删除
for country in root.findall("country"):
rank = int(country.find("rank").text)
if rank >1: # 删除排名大于1的国家的信息
root.remove(country)
tree.write("xml_test2.xml")

创建一个xml文件

import xml.etree.ElementTree as ET

new_xml = ET.Element("namelist")

name =ET.SubElement(new_xml,"name",attrib={"enrolled":"yes"})
age = ET.SubElement(name,"age",attrib={"checked":"no"})
sex = ET.SubElement(name,"sex")
sex.text = "" et = ET.ElementTree(new_xml)
et.write("xml2_test.xml",encoding="utf-8",xml_declaration=True)

最新文章

  1. Scala 编程---类和对象
  2. CSS3 学习笔记
  3. venus java高并发框架
  4. Json 数据
  5. Cocos2d-x 2.x项目创建
  6. 用Visio画UML用例图
  7. 记一次Surface Pro 2还原操作
  8. POJ 1050 To the Max -- 动态规划
  9. SQL点滴24—监测表的变化
  10. MySQL命令(逐步更新ing)
  11. 转--Python re模块 验证11位手机号
  12. Centos7关闭防火墙
  13. shell脚本编写遍历某一目录下的所有文件
  14. centos7下安装docker(18.2docker日志---ELK)
  15. Vue(十六)vue-router路由
  16. centos7下安装docker(12.4容器如何与外部进行通信)
  17. ubuntu16.04系统安装
  18. QT信号与槽
  19. PL/SQL Developer 使用中文条件查询时无数据的解决方法(转)
  20. 使用mt_rand代替rand

热门文章

  1. 时间控件My97DatePicker事件监听及用法
  2. element-ui表格显示html格式
  3. Quartz Configuration Reference
  4. mkimage工具的用法
  5. vs 设置护眼背景颜色
  6. Linux_CentOS常用命令和shell命令技巧
  7. 在gitlab新建分支,IDEA切换时找不到的解决办法
  8. php 微信公众平台OAuth2.0网页授权,获取用户信息代码类封装demo
  9. JS语言中的JSON.parse()和JSON.stringify()
  10. LeetCode_342. Power of Four