#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文件的更多相关文章

  1. 使用XML序列化器生成XML文件和利用pull解析XML文件

    首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...

  2. 创建xml文件、解析xml文件

        1.创建XML文件: import codecs import xml.dom.minidom doc=xml.dom.minidom.Document() print doc root=do ...

  3. python操作xml文件

    一.什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0&q ...

  4. 使用PYTHON创建XML文档_python

    当用GOOGLE查的时候,内容几乎都是一样的.但是你想要的东西,一个也没有.例如,我就找不到中国人写的如何使用PYTHON来创建一个XML文件.当然,直接用文件写的方式也能够达到同样的效果,但是毕竟容 ...

  5. python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别和基本使用

    1.解析速度:ElementTree在 Python 标准库中有两种实现.一种是纯 Python 实现例如 xml.etree.ElementTree ,另外一种是速度快一点的 xml.etree.c ...

  6. Python 读写XML文件

    Python 生成XML文件 from xml.dom import minidom # 生成XML文件方式 def generateXml(): impl = minidom.getDOMImple ...

  7. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  8. C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)

    最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...

  9. Java 创建xml文件和操作xml数据

    java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...

随机推荐

  1. 在.NET Core中处理一个接口多个不同实现的依赖注入问题

    前言 近段时间在准备公司的技术分享,所以这段时间将大部分时间放在准备分享内容上去了.博客也就停了一下下. 在.NET Core中处理依赖注入问题时,往往是定义好了一个操作规范的接口,会有N多个基于不同 ...

  2. CF908G Original Order

    题目大意: 定义\(R(x) = 每个数在各数位排序后得到的数\) 例如:\(R(321597) = 123579\) 给定一个\(n<=10^{700}\),求\(\sum _{i=1}^n ...

  3. 【BZOJ4372】烁烁的游戏(动态点分治)

    [BZOJ4372]烁烁的游戏(动态点分治) 题面 BZOJ 大意: 每次在一棵书上进行操作 1.将离某个点u的距离不超过d的点的权值加上w 2.询问单点权值 题解 这题和前面那一道震波几乎是一模一样 ...

  4. [luogu3412]仓鼠找sugar II

    题面在这里 题意 给定一棵树(\(n\le10^5\)),仓鼠随机选择起点和终点,之后从起点开始随机游走,每次都会等概率地选择和其相邻的任一道路,直到到达终点,求到达终点时步数的期望 sol 因为这一 ...

  5. [BZOJ1269] [AHOI2006] 文本编辑器editor (splay)

    Description 这些日子,可可不和卡卡一起玩了,原来可可正废寝忘食的想做一个简单而高效的文本编辑器.你能帮助他吗?为了明确任务目标,可可对“文本编辑器”做了一个抽象的定义:  文本:由0个或多 ...

  6. Mybatis【一对多、多对一、多对多】知识要点

    Mybatis[多表连接] 我们在学习Hibernate的时候,如果表涉及到两张的话,那么我们是在映射文件中使用<set>..<many-to-one>等标签将其的映射属性关联 ...

  7. JavaScript之BOM

    一.什么是BOM? BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”. 二.Windows对象 Window对象是客户端Ja ...

  8. 清除input[type=number]的默认样式

    input[type=number] { -moz-appearance:textfield; } input[type=number]::-webkit-inner-spin-button, inp ...

  9. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)

    1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问和带宽是巨大的挑战,对于高并发和大访问访问量的站点来说,需要使用AJAX相关的技术 ...

  10. JS离开页面 弹窗

    function bindDOMEvents() { $(document).keydown(function (e) { var key = e.which || e.keyCode; if (ke ...