python批量生成xml文件
from xml.dom.minidom import Document # import xml.dom.minidom class XmlMaker: def __init__(self,txtpath,xmlpath): self.txtPath = txtpath self.xmlPath = xmlpath self.txtList = [] def readtxt(self): txtfile = open(self.txtPath,"rb") self.txtList = txtfile.readlines() for i in self.txtList: oneline = i.strip().split(" ") if len(oneline) != 5: print("TxtError") def makexml(self): doc = Document() orderpack = doc.createElement("OrderPack") doc.appendChild(orderpack) objecname = "Order" for i in self.txtList: oneline = i.strip().split(" ") objectE = doc.createElement(objecname) objectE.setAttribute("number",oneline[0]) objectcontent = doc.createElement("Content") objectcontenttext = doc.createTextNode(oneline[1]) objectcontent.appendChild(objectcontenttext) objectE.appendChild(objectcontent) objectresult = doc.createElement("Result") objectresulttext = doc.createTextNode(oneline[2]) objectresult.appendChild(objectresulttext) objectE.appendChild(objectresult) objectappname = doc.createElement("AppName") objectappnametext = doc.createTextNode(oneline[3]) objectappname.appendChild(objectappnametext) objectE.appendChild(objectappname) objectdelay = doc.createElement("Delay") objectdelaytext = doc.createTextNode(oneline[4]) objectdelay.appendChild(objectdelaytext) objectE.appendChild(objectdelay) orderpack.appendChild(objectE) f = open(self.xmlPath, 'w') doc.writexml(f, indent='\t', newl='\n', addindent='\t', encoding='gbk') f.close() if __name__ == "__main__": read =XmlMaker("test.txt","host_security_interface6.xml") read.readtxt() read.makexml() print(read.txtPath) for i in read.txtList: print(i)
文件text.txt内容:
0 命令0 结果0 app名0 延迟0
1 命令1 结果1 app名1 延迟1
2 命令2 结果2 app名2 延迟2
3 命令3 结果3 app名3 延迟3
4 命令4 结果4 app名4 延迟4
5 命令5 结果5 app名5 延迟5
【转】https://blog.csdn.net/weixin_41084236/article/details/83107237
扩展:
实现变量循环赋值,批量生成200个xml文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了