用python写xml文件

来源:互联网 发布:实用网站 知乎 编辑:程序博客网 时间:2024/05/21 12:07
info=[{'id':1,'name':'wang','age':10,'major':'math'},
      {'id':2,'name':'zhang','age':11,'major':'statistic'},
      {'id':3,'name':'shan','age':18,'major':'english'},
      {'id':4,'name':'chen','age':21,'major':'it'}]




import xml.dom.minidom
#在内存中创建一个空的文档
doc=xml.dom.minidom.Document()
#创建一个根目录
root=doc.createElement('Manager')
#设置根目录的属性
root.setAttribute('company','辰青科技')
root.setAttribute('address','科技软件园')
#将根目录加入到文档中
doc.appendChild(root)


#创建三级目录,并将目录加入到二级目录下
for i in info:
    #创建二级目录
    nodeManager=doc.createElement('Manager')
    #创建三级目录
    nodeid=doc.createElement('id')
    #给叶子结点id设置一个文本节点,用于显示文本内容
    nodeid.appendChild(doc.createTextNode(str(i['id'])))
    
    nodename=doc.createElement('name')
    nodename.appendChild(doc.createTextNode(str(i['name'])))
    
    nodeage=doc.createElement('age')
    nodeage.appendChild(doc.createTextNode(str(i['age'])))
    
    nodemajor=doc.createElement('major')
    nodemajor.appendChild(doc.createTextNode(str(i['major'])))
    
    #将三级叶点加入到二级叶点内
    nodeManager.appendChild(nodeid)
    nodeManager.appendChild(nodename)
    nodeManager.appendChild(nodeage)
    nodeManager.appendChild(nodemajor)
    root.appendChild(nodeManager)
    
    
    


f=open('D://myself.xml','w')
doc.writexml(f,indent='\t',addindent='\t',newl='\n',encoding='utf-8')


f.close()