处理XML文档
遍历xml文档
 1 #遍历xml文档的子标签
 2 for child in root:
 3     print(child.tag,child.attrib)
 4              #子标签名       属性
 5     for i in child:
 6         print(i.tag,i.text)
 7              #子标签名   属性
 8              #字节数标签不能遍历出属性,输出为空
 9         #改进
10         print(i.tag,i.text,i.attrib)
11
12 #遍历自己需要的 例如只遍历'year'节点
13 for node in root.iter('year'):
14     print(node.tag,node.text)

修改 
 1 import xml.etree.ElementTree as ET
 2
 3 tree=ET.parse('xml_test.xml')
 4 root=tree.getroot()
 5
 6 for node in root.iter('year'):
 7     new_year=int(node.text)+1
 8     node.text=str(new_year)
 9         #赋值
10     node.set('updated','yes')
11           给year标签增加属性
12
13 tree.write('xml_test.xml')

删除node
1 tree=ET.parse('xml_test.xml')
2 root=tree.getroot()
3
4 for country in root.findall('country'):  #遍历country
5     rank = int(country.find('rank').text)  #找出rank
6     if rank > 50:
7         root.remove(country)
8
9 tree.write('output.xml') #写入文件为output.xml文件中

新建xml文件

 1 import xml.etree.ElementTree as ET
 2
 3 new_xml = ET.Element("personinfolist")  #创建根节点
 4 personinfo = ET.SubElement(new_xml, "personinfo", attrib={"enrolled": "yes"})
 5                           #是new_xml的子节点
 6 name = ET.SubElement(personinfo, "name")
 7 name.text='Jeck'
 8 age = ET.SubElement(personinfo, "age", attrib={"checked": "no"})
 9                    #是personnifo的子节点
10 sex = ET.SubElement(personinfo, "sex")
11 sex.text='Men'
12 age.text = '33' #给age节点赋值
13 personinfo2 = ET.SubElement(new_xml, "personinfo", attrib={"enrolled": "no"})
14 name = ET.SubElement(personinfo2, "name")
15 name.text='Ailice'
16 age = ET.SubElement(personinfo2, "age")
17 age.text = '19'
18
19 et = ET.ElementTree(new_xml)  # 生成文档对象
20 et.write("test.xml", encoding="utf-8", xml_declaration=True)
21         #写入到test.xml文件中              声明是xml格式的
22
23 ET.dump(new_xml)  # 打印生成的格式

转载于:https://www.cnblogs.com/zhong2018/p/8974185.html

学习笔记-模块之xml文件处理相关推荐

  1. Android学习笔记之AndroidManifest.xml文件解析(摘自皮狼的博客)

    Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它 ...

  2. Android学习笔记之AndroidManifest.xml文件解析(学习别人的..非原创)

    AndroidManifest.xml是每个android程序中必须的文件.它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activitie ...

  3. Android学习笔记之AndroidManifest.xml文件解析

    为什么80%的码农都做不了架构师?>>>    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整 ...

  4. Android学习笔记43:XML文件解析(Pull方式)

    解析XML文档的方法是很多的,除了常用的SAX和DOM方法以外,还可以使用Java自带的Pull来解析XML文档. 1.使用Pull解析器解析XML文档 Pull解析器的运行方式和SAX解析器很相似, ...

  5. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  6. Unix原理与应用学习笔记----第六章 文件的基本属性2

    Unix原理与应用学习笔记----第六章 文件的基本属性2 改变文件权限命令:chmod 提示:文件或目录创建后,就被赋予一组默认的权限.所有的用户都有读,只有文件的所有者才有写. 相对权限设置 Ch ...

  7. oracle的脚本日志,学习笔记:Oracle alert日志文件巡检脚本

    天萃荷净 分享一篇Oracle alert日志文件巡检脚本 每天都检查oracle日志,所以写了一个比较完善的shell,让其自动处理,在运行程序之前,需要在该脚本目录下新建tmp目录 #!/usr/ ...

  8. Linux学习笔记(二)——文件与磁盘系统

    Linux学习笔记(二)--文件与磁盘系统 文件操作 ls [选项][目录名]-l :列出长数据串,包含文件的属性与权限数据等-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)- ...

  9. node学习笔记--模块加载

    学习笔记过程,自己理解,方便自己查询,新手一枚,希望批评指正. 使用 webstrom 编辑器 可以将安装的node.exe 配置进去,直接运行,可自行百度配置. 通过命令行参数传递给NodeJS以启 ...

  10. SilverLight学习笔记--关于Silverlight资源文件(如:图片)的放置位置及其引用

    Silverlight中有许多资源文件,例如:图片,音频.视频,甚至XML和XAML等非执行数据文件,在Silverlight中根据资源所处位置的不同而有所区别.    资源文件可分布在我们Silve ...

最新文章

  1. AI研习丨专题:可解释推荐的强化学习框架
  2. 车间AP无法接入故障分析处理
  3. swift 数组高阶使用(一)
  4. rsync文件同步(linux-linux)
  5. 初始Bootstrap
  6. 重磅!微软发布新一代 Teams 开发工具 —— Teams Toolkit!不止VS Code extension!
  7. 《自然》年度十大人物:天才曹原居首 贺建奎来去匆匆
  8. jq之省市区级联插件
  9. C#中全角转半角以及半角转全角
  10. 设计师交流平台!!!
  11. VB 几种打开文本文件速度对比
  12. (5)【整合】基于机器学习的酒店评论文本倾向性分析
  13. Docker 全套笔记整理
  14. Charlotte:不会被检测到的Shellcode启动器
  15. Java数据脱敏框架
  16. 封装解决WebView的那些坑
  17. 【面试分享】奇安信渗透测试工程师,通过!
  18. PHP的时间增加10分钟和加一天的时间
  19. 谷歌浏览器插件 - 为 Microsoft Bing 搜索引擎首页添加一个【保存背景图片】的按钮(版本 2)
  20. java 麻将胡牌算法_麻将胡牌算法研究

热门文章

  1. ECMAScript 学习笔记02
  2. linux操作实例,linux下的一些文档操作实例 | Soo Smart!
  3. python sorted函数
  4. Mask rcnn介绍
  5. caffe/build/tools下会生成一些工具
  6. caffe目录结构 及 caffe源码文件说明
  7. Caffe学习:Blobs, Layers, and Nets
  8. Java注解之自定义注解
  9. c语言串口控制单片机,利用USART实现单片机与串口通信[C语言]
  10. python浮点数转科学计数_python – 将float转换为字符串没有科学记数法和假精度...