这篇文章主要介绍了Python中xml和json格式相互转换操作,结合实例形式分析了xmltodict库的安装及xml格式与json格式数据相互转换操作,需要的朋友可以参考下

本文实例讲述了Python中xml和json格式相互转换操作。分享给大家供大家参考,具体如下:

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

利用pip可以直接安装。

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) #调用转换函数

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

PS:这里再为大家推荐几款比较实用的json与xml在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.lovean.com/code/xmljson

在线JSON代码检验、检验、美化、格式化工具:
http://tools.lovean.com/code/json

JSON在线格式化工具:
http://tools.lovean.com/code/jsonformat

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.lovean.com/code/jsoncodeformat

在线格式化XML/在线压缩XML:
http://tools.lovean.com/code/xmlformat

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python操作json总结》、《Python操作xml数据总结》、《Python编码操作总结》、《Python函数使用总结》、《Python字符串操作汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作汇总》

希望本文所述对大家Python程序设计有所帮助。

最新资讯
传Uber拟11.9亿美元收购戴姆勒和宝马旗下Free Now

传Uber拟11.9亿美元收

美国打车服务巨头Uber已经提出一项收购要约,出价逾10亿
马斯克:特斯拉有望在今年底全面推出自动驾驶功能

马斯克:特斯拉有望在今

特斯拉CEO埃隆·马斯克:未来数年,特斯拉的电池生产成本
特斯拉连续五个季度实现盈利 盘后涨超2%

特斯拉连续五个季度实

当日,特斯拉汽车股价在纳斯达克常规交易中上涨0.70美元
特斯拉:柏林和上海工厂的交付将于2021年开始

特斯拉:柏林和上海工厂

特斯拉称,上海工厂的Model 3的产能已经增加至25万辆/年
特斯拉汽车第三季度营收87.71亿美元 净利同比大增131%

特斯拉汽车第三季度营

特斯拉汽车第三季度总营收为87.71亿美元,比去年同期的6
用“二次号”被欠贷:运营商别让用户为衍生问题买单

用“二次号”被欠贷:运

用“二次号”莫名被欠贷或没法注册12306,这些用户困扰
最新文章
在pycharm中为项目导入anacodna环境的操作方法

在pycharm中为项目导

这篇文章主要介绍了在pycharm中为项目导入anacodna环
tensorflow的ckpt及pb模型持久化方式及转化详解

tensorflow的ckpt及pb

今天小编就为大家分享一篇tensorflow的ckpt及pb模型持
PyTorch笔记之scatter()函数的使用

PyTorch笔记之scatter

这篇文章主要介绍了PyTorch笔记之scatter()函数的使用
python3实现网页版raspberry pi(树莓派)小车控制

python3实现网页版ras

这篇文章主要为大家详细介绍了python3实现网页版raspb
完美解决pycharm导入自己写的py文件爆红问题

完美解决pycharm导入

今天小编就为大家分享一篇完美解决pycharm导入自己写
pycharm内无法import已安装的模块问题解决

pycharm内无法import

今天小编就为大家分享一篇pycharm内无法import已安装