python写xml文件_python生成xml文件

先上代码:

1 #!/usr/bin/env python3

2 #_*_ coding: utf-8 _*_

3 from xml.dom.minidom importDocument6

7 defreadFile(filename, lines):8 with open(filename, 'r') as f:9 for line inf:10 line = line.rstrip('\n')11 if line.startswith('//') or len(line) ==0:12 continue

13 lines.append(line)14

15 defwriteXml(filename, lines, tagNames):16 #创建doc

17 doc =Document()18 #创建根节点

19 root =doc.createElement(tagNames[0])20 doc.appendChild(root)21

22 #记录每层节点的最新元素

23 nodes ={0: root}24

25 for line inlines:26 index = line.rfind(' ')27 level = (index + 1) / 4 + 1

28 line = line.lstrip(' ')29

30 node =doc.createElement(tagNames[level])31 node.setAttribute('name', line)32

33 nodes[level - 1].appendChild(node)34 nodes[level] =node35

36 with open(filename, 'w') as f:37 f.write(doc.toprettyxml(indent='\t'))38

39 defdisplay(lines):40 for line inlines:41 print(line)42

43 if __name__ == '__main__':44 lines =[]45 readFile('./file/sector.txt', lines)46

47 tagNames = ['SectorFile', 'Sectors', 'sector', 'sector_second']48 writeXml('./file/sector.xml', lines, tagNames)

1. 使用库 xml.dom.minidom

2. readFile函数

这个函数的功能上读取文件,并把每一行内容除去右边空格,存入列表中

参数一:文件名

参数二:文件行存入的列表

3. writeXml函数

功能:读取列表,生成xml文件

参数一:生成的xml文件名

参数二:文件行列表

参数三:xml标签名

此处读取的文件,左侧是通过tab键进行分层的。但由于编辑器设置的一个tab键,替换成四个空格。所以此处的规律是查找最后一个空格出现的位置,加1除4就可以得到该文件在xml中所处的层级。

第22行:此处的目的是建立一个level-node的字典,用于存放当前层级的最新节点。便于字节点查找父节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值