博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python xml.etree ElementTree解析 编辑 xml
阅读量:6614 次
发布时间:2019-06-24

本文共 1913 字,大约阅读时间需要 6 分钟。

 

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

1 #coding=utf-8 2 from xml.etree import ElementTree 3  4 import pdb 5  6 def printNodeInfo(node): 7  8     #node.tag 标签名称 9     #node.text 文本属性10     print 'node.tag: %s' %node.tag11 12     #node.attrib 属性字典13     for key in node.attrib:14         print '%s %s' %(key,node.attrib[key])15     return None16 17 def main():18 19     pdb.set_trace()20     try:21         #ElementTree.parse(source,parser=None)22         #将xml文件加载并返回ElementTree 对象23         #parser 是一个可选的参数,如果为空则使用标准的XMLParser24         #step 1: 获取 ElementTree 对象25         xmlDoc = ElementTree.parse('D:\server\map\App.xml')26         #step 2: 获取 根节点27         root = xmlDoc.getroot()28         #root.getchildren() 获取节点 返回的是列表29         gateServerNodeList = root.getchildren()30 31         # 下面是在每个gateServer 节点下 增加一个子节点32         for node in gateServerNodeList:33             # ElementTree.SubElement(parentNode,tagName)34             #给parentNode 增加一个子节点35             #和parentNode.append(Element) 效果一致36             newNode = ElementTree.SubElement(node,'ActiveType')37             # 设置属性 38             newNode.attrib['id'] = '9'39             newNode.attrib['level'] = '38'40             newNode.attrib['begin'] = '201401010000'41             newNode.attrib['end'] = '201401010000'42             #中文 需要 特殊译码43             newNode.attrib['tip'] = '测试'.decode('utf-8')44             #节点尾部的符号45             newNode.tail = '\n'46             #node.append(newNode)47 48         # 写入文件 调用 之前的ElementTree 对象的49         #write(fileName,encoding = None,xml_Decleare = None,default_namespace = None,method = None)50         # 其中xml_Decleare 如果为 True 则 在 文档的最上方会写入51         #
52 xmlDoc.write('D:test.xml','utf-8',True)53 except Exception as e:54 print e55 56 return None57 58 if __name__ == '__main__':59 main()

 

 

转载于:https://www.cnblogs.com/lc-cnblong/p/3634501.html

你可能感兴趣的文章
使用JdbcTemplate过程中使用到多个参数和like模糊
查看>>
解决eclipse中无法删除Tomcat服务器中的项目,报maven is required and cannot be removed from the server错误情况...
查看>>
修改页面JS 360浏览器
查看>>
尚学linux课程---3、linux网络说明
查看>>
Git 跟 GitHub 是什么关系?
查看>>
String.split()方法
查看>>
IE6下jQuery选中select的BUG
查看>>
Tensorflow在win10下的安装(CPU版本)
查看>>
嵌入式平台做深度学习算法,不可不重视的4件事
查看>>
一次优化记录
查看>>
如何调用一个数据完整的firefox浏览器
查看>>
cgroup代码浅析(2)
查看>>
会计的思考(42):会计如何转变为公司的内部财务顾问
查看>>
利用钥匙串,在应用里保存用户密码的方法
查看>>
final,finally和finalize之间的区别
查看>>
python 装饰器
查看>>
[辟谣]下蹲猛起来眼前发黑是心脏衰竭的表现?别扯了!
查看>>
paper 96:计算机视觉-机器学习近年部分综述
查看>>
vuex状态管理详细使用方法
查看>>
不要等有了足够的钱才选择去创业!!!
查看>>