首页 > 编程语言 > 详细

python生成xml文件

时间:2018-09-17 23:38:37      阅读:184      评论:0      收藏:0      [点我收藏+]

先上代码:

 1 #!/usr/bin/env python3
 2 # _*_ coding: utf-8 _*_
 3  5 from xml.dom.minidom import Document
 6 
 7 def readFile(filename, lines):
 8     with open(filename, r) as f:
 9         for line in f:
10             line = line.rstrip( \n)
11             if line.startswith(//) or len(line) == 0:
12                 continue
13             lines.append(line)
14 
15 def writeXml(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 in lines:
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] = node
35 
36     with open(filename, w) as f:
37         f.write(doc.toprettyxml(indent=\t))
38 
39 def display(lines):
40     for line in lines:
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的字典,用于存放当前层级的最新节点。便于字节点查找父节点

python生成xml文件

原文:https://www.cnblogs.com/zhugaopeng/p/9665365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!