python有很多种xml解析方式,不过感觉etree的ElementTree 用起来最方便。

 #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()

最新文章

  1. docker 报错Failed to start Docker Storage Setup. 的处理基本都是容器满了
  2. [转载]Android核心分析
  3. Exception in thread &quot;main&quot; java.util.regex.PatternSyntaxException: Unclosed character class near index 0 [ ^
  4. Articulate Studio课间制作工具
  5. HeapAnalyzer
  6. Latin1的所有字符编码
  7. MongoDB基础教程系列--第二篇 MongoDB基本操作(一)
  8. CRL快速开发框架升级到4.52,谈谈开发过程中的优化
  9. 前端基础之--css中可被继承和不可被继承的属性
  10. MySQL双主+keeplived安装部署说明
  11. 【演示】在CSS里用calc进行计算
  12. 微信小程序之点赞和取消点赞
  13. java三大特性传送门
  14. 为何要对URL进行编码
  15. Laravel - 从百草园到三味书屋 &quot;From Apprentice To Artisan&quot;目录
  16. 将参数传递给ASP.NET Core 2.0中的中间件
  17. perforce 使用教程(zz)
  18. nmap与Nessus扫描特定靶机分析
  19. VC++编译出错:LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  20. MySQL 优化 之 Copying to tmp table on disk

热门文章

  1. 【每日scrum】NO.7
  2. java并发编程:进程和线程
  3. How to Build FFmpeg for Android
  4. An overview of the Spring MVC request flow
  5. xml给提示
  6. Load hlsl
  7. GIS数据格式topojson
  8. 关于JS中的constructor与prototype
  9. POJ 2480 Longge&#39;s problem (积性函数,欧拉函数)
  10. touch事件学习