Python中xml和json格式是可以互转的,就像json格式转Python字典对象那样。
xml格式和json格式互转用到的xmltodict库
安装xmltodict库
-
C:\Users\Administrator>pip3 install xmltodict
-
Collecting xmltodict
-
Downloading xmltodict -0.11 .0-py2.py3-none-any.whl
-
Installing collected packages: xmltodict
-
Successfully installed xmltodict -0.11 .0
xml格式转json格式
-
import json
-
import xmltodict
-
#定义xml转json的函数
-
def xmltojson(xmlstr):
-
#parse是的xml解析器
-
xmlparse = xmltodict.parse(xmlstr)
-
#json库dumps()是将dict转化成json格式,loads()是将json转化成dict格式。
-
#dumps()方法的ident=1,格式化json
-
jsonstr = json.dumps(xmlparse,indent= 1)
-
print(jsonstr)
-
if __name__ == "__main__":
-
xml = """ #需要转换json格式的xml
-
<student>
-
<stid>10213</stid>
-
<info>
-
<name>name</name>
-
<sex>male</sex>
-
</info>
-
<course>
-
<name>math</name>
-
<score>90</score>
-
</course>
-
</student>
-
"""
-
xmltojson(xml) #调用转换函数
![](https://i-blog.csdnimg.cn/blog_migrate/62aec8cb78437677f80135497761a3ae.png)
json格式转xml格式
-
import xmltodict
-
#json转xml函数
-
def jsontoxml(jsonstr):
-
#xmltodict库的unparse()json转xml
-
xmlstr = xmltodict.unparse(jsonstr)
-
print(xmlstr)
-
if __name__ == "__main__":
-
json = { 'student': { 'course': { 'name': 'math', 'score': '90'},
-
'info': { 'sex': 'male', 'name': 'name'}, 'stid': '10213'}}
-
jsontoxml(json)
C:\python35\python.exe "D:/自动化测用例/json to xml.py"
<?xml version="1.0" encoding="utf-8"?>
<student><course><name>math</name><score>90</score></course><info><name>name</name><sex>male</sex></info><stid>10213</stid></student>
Process finished with exit code 0
参考:
http://www.crifan.com/python_convertion_between_xml_and_json/?utm_source=tuicool&utm_medium=referral