Python中xml和json格式相互转换操作示例

yipeiwu_com6年前Python基础

本文实例讲述了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.jb51.net/code/xmljson

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

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

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

在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat

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

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

相关文章

Python 的描述符 descriptor详解

Python 在 2.2 版本中引入了descriptor(描述符)功能,也正是基于这个功能实现了新式类(new-styel class)的对象模型,同时解决了之前版本中经典类 (cla...

在Python中使用Neo4j的方法

在Python中使用Neo4j的方法

Neo4j是面向对象基于Java的 ,被设计为一个建立在Java之上、可以直接嵌入应用的数据存储。此后,其他语言和平台的支持被引入,Neo4j社区获得持续增长,获得了越来越多的技术支持者...

选择python进行数据分析的理由和优势

1、python大量的库为数据分析提供了完整的工具集 2、比起MATLAB、R语言等其他主要用于数据分析语言,python语言功能更加健全 3、python库一直在增加,算法的实现采取的...

python Django中models进行模糊查询的示例

多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思 #搜索功能 @csrf_...

关于Python正则表达式 findall函数问题详解

在写正则表达式的时候总会遇到不少的问题, 特别是在表达式有多个元组的时候。下面看下re模块下的findall()函数和多个表达式元组相遇的时候会出现什么样的坑。 代码如下: impo...