Python xmltodict模块安装及代码实例

 更新时间:2020年10月05日 09:10:20   作者:lincappu  
这篇文章主要介绍了Python xmltodict模块安装及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

最近在对接微信公众号、微信支付等功能,发现很多都是用xml格式的。在使用django日常处理的时候,都是手动拼接的,真的是很恶心。今天仔细的看了一下python的xmltodict模块,发现其实完全可以不用手动拼接,轮子本身都有了。只要那来用就好了。之前自己的方式反而有点傻逼了。

首先使用和安装都很简单

安装

pip install xmltodict #如果安装失败,直接去github上下载手动装吧,https://github.com/martinblech/xmltodict

从名字就知道了 他是一个支持从xml转换到python的dict互相转换的模块。(真的很方便)

dict转换xml(用的比较多)

这个的使用场景是真的多,比如微信支付各种信息获取都需要用到。

xmltodict.unparse()方法可以方便的将字典转换为xml字符串。

import xmltodict
d = {
'xml':{
'a': '123',
'b': '234'
}
}
xml_tmp = xmltodict.unparse(d)
print(xml_tmp)
--><?xml version="1.0" encoding="utf-8"?><xml><a>123</a><b>234</b></xml>

看着上面的字典格式也有点奇怪,这里要说明一下,生成xml只能只有一个根,否则会报错ValueError: Document must have exactly one root.

解决方式也比较简单,只要将你需要的字典内容在嵌套到一个xml的键里面,保证字典的第一层只有xml这个键即可。

xml转换dict

这个方法用的不多,我目前主要是用在处理回调解析微信传给我们的xml数据。

xmltodict.parse()将xml转换为字典。

接着上面的例子,继续往下吧。

import xmltodict
d = {
'xml':{
'a': '123',
'b': '234'
}
}
xml_tmp = xmltodict.unparse(d)
print(xml_tmp)
#将转换的xml在转换回字典
dt = xmltodict.parse(xml_tmp)
print(dt,type(dt))
--> OrderedDict([('xml', OrderedDict([('a', '123'), ('b', '234')]))]) <class 'collections.OrderedDict'>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python 如何引入同级包和模块

    Python 如何引入同级包和模块

    这篇文章主要介绍了Python 如何引入同级包和模块,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 关于CUDA out of memory的解决方案

    关于CUDA out of memory的解决方案

    这篇文章主要介绍了关于CUDA out of memory的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python之requests的使用(二)

    Python之requests的使用(二)

    上一篇我们说了requests的简单用法,知道了如何发送请求,今天我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。感兴趣的同学可以参考阅读
    2023-04-04
  • Python求凸包及多边形面积教程

    Python求凸包及多边形面积教程

    这篇文章主要介绍了Python求凸包及多边形面积教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python使用textract实现从各种文件中提取文本信息

    Python使用textract实现从各种文件中提取文本信息

    textract是一个强大的Python库,可以用于从各种文件格式中提取文本,本文将介绍textract的使用场景,以及一些常用的Python代码案例,希望对大家有所帮助
    2024-01-01
  • python3 中使用urllib问题以及urllib详解

    python3 中使用urllib问题以及urllib详解

    这篇文章主要介绍了python3 中使用urllib问题以及urllib详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python实现的FTP通信客户端与服务器端功能示例

    Python实现的FTP通信客户端与服务器端功能示例

    这篇文章主要介绍了Python实现的FTP通信客户端与服务器端功能,涉及Python基于socket的端口监听、文件传输等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Pandas实现groupby分组统计的实践

    Pandas实现groupby分组统计的实践

    本文主要介绍了Pandas实现groupby分组统计的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Pandas数据类型之category的用法

    Pandas数据类型之category的用法

    Pandas中有一种特殊的数据类型叫做category.它表示的是一个类别,一般用在统计分类中,比如性别,血型,分类,级别等等.有点像java中的enum,今天给大家详细讲解一下category的用法,需要的朋友可以参考下
    2021-06-06
  • python中函数的参数详解

    python中函数的参数详解

    本文详细讲解了python中函数的参数,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论