Python学习-创建修改XML
2017-12-20 13:46
363 查看
一、XML可扩展性标记语言,是一种非常常用的文件类型,主要用于存储和传输数据。本文根据python库文档中提供的xml.etree.ElementTree类来进行XML的解析, 官方参考文档https://docs.python.org/3.5/library/xml.etree.elementtree.html
二、 XML包含的元素类型
1. 标签<tag>
2. 属性 <tag name="attribute">
3. 数据 <data>1<data>
例如:
三、创建XML文件
创建的XML为:
四、修改XML文件
1. ElementTree.write("xmlfile"):更新xml文件
2. Element.append():为当前element对象添加子元素(element)
3. Element.set(key,value):为当前element的key属性设置value值
4. Element.remove(element):删除为element的节点
修改完的XML:
二、 XML包含的元素类型
1. 标签<tag>
2. 属性 <tag name="attribute">
3. 数据 <data>1<data>
例如:
<?xml version="1.0"?> <data> <country name="Liechtenstein"> <rank>1</rank> <year>2008</year> <gdppc>141100</gdppc> <neighbor name="Austria" direction="E"/> <neighbor name="Switzerland" direction="W"/> </country> <country name="Singapore"> <rank>4</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor name="Malaysia" direction="N"/> </country> <country name="Panama"> <rank>68</rank> <year>2011</year> <gdppc>13600</gdppc> <neighbor name="Costa Rica" direction="W"/> <neighbor name="Colombia" direction="E"/> </country> </data>
三、创建XML文件
#coding=utf-8 import xml.etree.ElementTree as ET #创建根节点 root = ET.Element("root") #创建root的子节点sub1,并添加属性 firstNode = ET.SubElement(root,"sub1") firstNode.attrib = {"name":"name attribute","age":"age attribute"} #创建子节点1(sub1)的子节点sub2,并添加数据 secondNode = ET.SubElement(firstNode,"sub2") secondNode.text = "test" #创建elementtree对象,写文件 tree = ET.ElementTree(root) tree.write("test01.xml")
创建的XML为:
<root> <sub1 age="age attribute" name="name attribute"> <sub2>test</sub2> </sub1> </root>
四、修改XML文件
1. ElementTree.write("xmlfile"):更新xml文件
2. Element.append():为当前element对象添加子元素(element)
3. Element.set(key,value):为当前element的key属性设置value值
4. Element.remove(element):删除为element的节点
#coding=utf-8 import xml.etree.ElementTree as ET #读取待修改文件 updateTree = ET.parse("test.xml") root = updateTree.getroot() #创建新节点并添加为root的子节点 newEle = ET.Element("NewElement") newEle.attrib = {"name":"NewElement","age":"20"} newEle.text = "This is a new element" root.append(newEle) #修改sub1的name属性 sub1 = root.find("sub1") sub1.set("name","New Name") #修改sub2的数据值 sub2 = root.find("sub1/sub2") sub2.text = "New Value" #写回原文件 updateTree.write("test.xml")
修改完的XML:
<root> <sub1 age="age attribute" name="New Name"> <sub2>New Value</sub2> </sub1> <NewElement age="20" name="NewElement">This is a new element</NewElement> </root>
相关文章推荐
- Python学习笔记(27)-创建与修改excel文档
- python学习笔记-修改pip下载源-创建虚拟环境
- python模块xml,xml.etree.ElementTree 节点的读取,查询,修改,保存,创建,删除等
- python 学习笔记之 dom(xml 文件创建)
- Python web入门:Django学习与实践二(简单页面实现和创建一个模板)
- C#入门学习-----菜单应用(添加剂快捷方式、设置菜单项是否可用、修改菜单字体、创建级联菜单、级联菜单的动态合并)
- [Python学习]使用minidom来处理XML的示例 (一)–XML的读取
- Python学习笔记九:列表(1)--列表元素介绍及创建方法
- Mysql学习总结(3)——MySql语句大全:创建、授权、查询、修改等
- ASP.NET 创建、修改、删除XML
- 【java开发系列】—— JDOM创建、修改、删除、读取XML文件
- 测试dom4j创建、修改、遍历XML
- MySQL入门很简单-学习笔记 - 第6章 创建、修改和删除表
- JDOM操作XML文档高级篇XML验证,创建带名字空间的xml, xml文档的修改
- java xml jdom创建 修改 解析
- java xml dom4j 创建 修改 解析
- python学习笔记一创建文件makeTextfile.py读取显示readTextFile.py
- Mysql学习总结(3)——MySql语句大全:创建、授权、查询、修改等
- php中DOMDocument简单用法(XML创建、添加、删除、修改)
- python学习——修改、添加和删除元素