利用python 创建XML文件
#coding=utf-8
from xml.etree import ElementTree import pdb def printNodeInfo(node): #node.tag 标签名称
#node.text 文本属性
print 'node.tag: %s' %node.tag #node.attrib 属性字典
for key in node.attrib:
print '%s %s' %(key,node.attrib[key])
return None def main(): pdb.set_trace()
try:
#ElementTree.parse(source,parser=None)
#将xml文件加载并返回ElementTree 对象
#parser 是一个可选的参数,如果为空则使用标准的XMLParser
#step 1: 获取 ElementTree 对象
xmlDoc = ElementTree.parse('D:\server\map\App.xml')
#step 2: 获取 根节点
root = xmlDoc.getroot()
#root.getchildren() 获取节点 返回的是列表
gateServerNodeList = root.getchildren() # 下面是在每个gateServer 节点下 增加一个子节点
for node in gateServerNodeList:
# ElementTree.SubElement(parentNode,tagName)
#给parentNode 增加一个子节点
#和parentNode.append(Element) 效果一致
newNode = ElementTree.SubElement(node,'ActiveType')
# 设置属性
newNode.attrib['id'] = ''
newNode.attrib['level'] = ''
newNode.attrib['begin'] = ''
newNode.attrib['end'] = ''
#中文 需要 特殊译码
newNode.attrib['tip'] = '测试'.decode('utf-8')
#节点尾部的符号
newNode.tail = '\n'
#node.append(newNode) # 写入文件 调用 之前的ElementTree 对象的
#write(fileName,encoding = None,xml_Decleare = None,default_namespace = None,method = None)
# 其中xml_Decleare 如果为 True 则 在 文档的最上方会写入
#<?xml version="1.0" encoding="utf-8"?>
xmlDoc.write('D:test.xml','utf-8',True)
except Exception as e:
print e return None if __name__ == '__main__':
main()
from xml.etree import ElementTree as ET
tree = ET.parse('first.xml')
root = tree.getroot()
# print(root.tag)
# print(root.attrib)
# print(root.text)
# 创建节点,element类型
son = root.makeelement('tt',{'vv':'KK'})
s = son.makeelement('tt',{'kk':''})
# son = ET.Element('tt',{'vv':'KK'})
# s = ET.Element('tt',{'kk':'132443'})
son.append(s)
root.append(son)
tree.write('out.xml')
简单创建xml
from xml.etree import ElementTree as ET
root = ET.Element('root',{'age':''})
son=ET.SubElement(root,'root',{'age':''})
ET.SubElement(son,'haha',{'bb':'fhfhf'})
tree = ET.ElementTree(root)
tree.write('aha.xml')
结果
<root age="18">
<root age="18">
<haha bb="fhfhf" />
</root>
</root>
利用python 创建XML文件的更多相关文章
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
- 创建xml文件、解析xml文件
1.创建XML文件: import codecs import xml.dom.minidom doc=xml.dom.minidom.Document() print doc root=do ...
- python操作xml文件
一.什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0&q ...
- 使用PYTHON创建XML文档_python
当用GOOGLE查的时候,内容几乎都是一样的.但是你想要的东西,一个也没有.例如,我就找不到中国人写的如何使用PYTHON来创建一个XML文件.当然,直接用文件写的方式也能够达到同样的效果,但是毕竟容 ...
- python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别和基本使用
1.解析速度:ElementTree在 Python 标准库中有两种实现.一种是纯 Python 实现例如 xml.etree.ElementTree ,另外一种是速度快一点的 xml.etree.c ...
- Python 读写XML文件
Python 生成XML文件 from xml.dom import minidom # 生成XML文件方式 def generateXml(): impl = minidom.getDOMImple ...
- .net中创建xml文件的两种方法
.net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...
- C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)
最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...
- Java 创建xml文件和操作xml数据
java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...
随机推荐
- haproxy的丰富特性简介
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- vue 父组件与子组件的通信
参考博客地址:http://www.cnblogs.com/okaychen/p/7674211.html,很详细!
- mysql执行计划简介
介绍 本篇主要通过汇总网上的大牛的知识,简单介绍一下如何使用mysql的执行计划,并根据执行计划判断如何优化和是否索引最优. 执行计划可显示估计查询语句执行计划,从中可以分析查询的执行情况是否最优,有 ...
- tensorflow第一篇---numpy模块
写在前面: 自学tensorflow半个月,博友们给了我很多帮助,这是我第一篇原创的博文,我想把之前的知识梳理一遍,我会分享我一些在学习过程中遇到的问题,我目前只有这些......... 在介绍ten ...
- 数组的迭代方法(every、filter、forEach、map、some)
every: 对数组中的,每一项运行给定函数,如果该函数对每一项都返回true,则返回true. var number = [1,2,3,4,5,6]; var result = number.eve ...
- windows7+python2.7+setuptools 、pip+Django+PIL 网页制作环境配置
1.安装Python2.7 官网下载安装包python-2.7.amd64,对应64位.安装时没什么特别操作,安装后将python的安装路径添加到系统变量path中,步骤为程序->计算机-> ...
- Greetings
1,Common English Greetings Hey! Hey man! Hey girl! Hi. How's it going? How are you doing? What's up? ...
- angular的$scope的使用
1. 可以在scope中直接使用 // 监听日期变化 $scope.$watch('vaFilter.startEffectiveDate', function(newDate, oldDate, s ...
- 数据段、代码段、堆栈段、BSS段的区别
进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等.不过进程对这些内存的管理方式因内存用 途 不一而不尽相同,有些内存是事先静态分配和统一回收的 ...
- 笔记:I/O流-对象序列化
Java 语言支持一种称为对象序列化(Object Serialization)的非常通用的机制,可以将任何对象写入到流中,并在之后将其读回,首先需要支持对象序列化的类,必须继承与 Serializa ...