python3-将xml文件转成json文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | from xml.etree import ElementTree as et import json def readxml_et(): tree = et.ElementTree( file = "D:\\vscode\\xml2json\\Annotations\\timg.xml" ) root = tree.getroot() A = dict () listbigoption = [] for child_root in root: if child_root.tag = = 'filename' : imagePath = child_root.text if child_root.tag = = 'object' : listobject = dict () for xylabel in child_root: if xylabel.tag = = 'name' : label = xylabel.text if xylabel.tag = = 'polygon' : listpoints = [] for pt in xylabel: if pt.tag = = 'pt' : listxy = [] for i in pt: if i.tag = = 'x' : listxy.append( int (i.text)) if i.tag = = 'y' : listxy.append( int (i.text)) listpoints.append(listxy) listobject[ 'points' ] = listpoints listobject[ 'line_color' ] = 'null' listobject[ 'label' ] = label listobject[ 'fill_color' ] = 'null' listbigoption.append(listobject) # print(listbigoption) A[ 'lineColor' ] = [ 0 , 255 , 0 , 128 ] A[ 'imageData' ] = 'imageData' A[ 'fillColor' ] = [ 255 , 0 , 0 , 128 ] A[ 'imagePath' ] = imagePath A[ 'shapes' ] = listbigoption A[ 'flags' ] = {} with open ( '1.json' , 'w' ) as f: json.dump(A,f) readxml_et() |
同事给了我一个xml文件让我转成他想要的json格式
代码用了好多for和if,用for循环来找子节点,先完成任务,得改进,还不知道怎么改。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!