python xml.etree ElementTree解析 编辑 xml
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()
python xml.etree ElementTree解析 编辑 xml的更多相关文章
- [python 学习] 使用 xml.etree.ElementTree 模块处理 XML
---恢复内容开始--- 导入数据(读文件和读字符串) 本地文件 country_data.xml <?xml version="1.0"?> <data> ...
- python3.x中xml.etree.ElementTree解析xml举例
1.新建xml import xml.etree.ElementTree as ETa=ET.Element('elem')c=ET.SubElement(a,'child1')c.text=&quo ...
- python xml.etree.ElementTree解析xml文件获取节点
<?xml version = "1.0" encoding = "utf-8"?> <root> <body name=&quo ...
- Python中xml.etree.ElementTree读写xml文件实例
import osimport xml.etree.ElementTree as ET'''Python 标准库中,提供了6种可以用于处理XML的包,本文举实例说明第6种1.xml.dom2.xml. ...
- python 之xml.etree.ElementTree
Element类型是一种灵活的容器对象,用于在内存中存储结构化数据. [注意]xml.etree.ElementTree模块在应对恶意结构数据时显得并不安全. 每个element对象都具有以下属性: ...
- python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别和基本使用
1.解析速度:ElementTree在 Python 标准库中有两种实现.一种是纯 Python 实现例如 xml.etree.ElementTree ,另外一种是速度快一点的 xml.etree.c ...
- python 解析xml遇到xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 4, column 34
在调试数字驱动用xml文件的方式时,包含读取xml文件的步骤,运行程序报错: d:\test\0629>python XmlUtil.pyTraceback (most recent call ...
- python标准库xml.etree.ElementTree的bug
使用python生成或者解析xml的方法用的最多的可能就数python标准库xml.etree.ElementTree和lxml了,在某些环境下使用xml.etree.ElementTree更方便一些 ...
- Python中使用ElementTree解析xml
在Python中,ElementTree是我们常用的一个解析XML的模块 1.导入ElementTree模块 from xml.etree import ElementTree as ET 2.初始化 ...
随机推荐
- iTween基础之Color(变换颜色)
一.基础介绍:二.基础属性 原文地址: http://blog.csdn.net/dingkun520wy/article/details/51065275 一.基础介绍 ColorTo:从当前颜色变 ...
- 文件操作的openmode
C中文件的openmode如下: r 只读 为输入打开一个文本文件 w 只写 为输出打开一个文本文件 a 追加 向文本文件尾添加数据 rb 只读 为输入打开一个二进制文件 wb 只写 为输出打开一个二 ...
- 结队开发项目——基于Android的无线点餐系统——NABC模型
特点:通过提前订餐,可以节约学生大量的排队时间. N(need):生活中可以发现许多同学都喜欢出去买饭,而且在有的摊位需要排很长时间的队,这样他们就会很晚吃到饭,下午有课的学生都不能睡午觉,所以通过我 ...
- volley框架 出现at com.android.volley.Request.<init>
请求json数据的时候出现这种情况: 原因: // 访问网络,初始化详情 JsonObjectRequest jr = new JsonObjectRequest(Request.Method.GET ...
- 23、获取app所占据的内存
public static void getRunningAppProcessInfo(ActivityManager mActivityManager) { //ActivityManager mA ...
- Gulp压缩JavaScript代码
因为gulp是自动化工具,所以我们得告诉它,需要怎么做,才能达到我们的目的. 我们首先得新建一个js文件,用来编写我们的需求,以便gulp能按着我们的意愿来执行. 我将这个js文件取名叫gulpfil ...
- 02.XMemcached的使用
关于XMemcached的介绍或文档请参考:https://code.google.com/p/xmemcached/wiki/User_Guide_zh 关于Memcached的命令 ...
- cf 496B Secret Combination
题目链接:B. Secret Combination You got a box with a combination lock. The lock has a display showing n d ...
- 【转载】CreateProcess的用法
第一.第二个参数的用法: 例子: 使用ie打开指定的网页. 注意第二个参数是 可执行文件+命令行参数 #include "stdafx.h" #include <window ...
- java socket 一个服务器对应多个客户端,可以互相发送消息
直接上代码,这是网上找的demo,然后自己根据需求做了一定的修改.代码可以直接运行 服务器端: package socket; import java.io.BufferedReader; impor ...