import json
import xml.dom.minidom
import codecs
def json_to_xml():
data={'ip':'127.0.0.1','name':'lilip','pwd':'123'}
data_json=json.dumps(data)
data_python=json.loads(data_json)
doc=xml.dom.minidom.Document()
root=doc.createElement('database')
root.setAttribute('object','database infomation')
doc.appendChild(root)
database=doc.createElement('database')
root.appendChild(database)
ip=doc.createElement('ip')
ip.appendChild(doc.createTextNode(data_python['ip']))
database.appendChild(ip)
name=doc.createElement('name')
name.appendChild(doc.createTextNode(data_python['name']))
database.appendChild(name)
password=doc.createElement('pwd')
password.appendChild(doc.createTextNode(data_python['pwd']))
database.appendChild(password)
fp=codecs.open('D:\\study\\gloryroad\\习题\\第十一章课后习题\\2.xml','w','utf-8')
doc.writexml(fp,indent='',addindent='\t', newl='\n',encoding="utf-8")
fp.close()
def xml_to_python():
DOMTree=xml.dom.minidom.parse(r"D:\\study\\gloryroad\\习题\\第十一章课后习题\\2.xml")
collection = DOMTree.documentElement
d={}
if collection.hasAttribute("object"):
info=collection.getElementsByTagName("database")
for i in info:
ip=i.getElementsByTagName('ip')[0]
name=i.getElementsByTagName('name')[0]
pwd=i.getElementsByTagName('pwd')[0]
d['ip']=ip.childNodes[0].data
d['name']=name.childNodes[0].data
d['pwd']=pwd.childNodes[0].data
print(d)
else:
print('something wrong!')
if __name__=='__main__':
json_to_xml()
xml_to_python()