Python xmltodict模块安装及代码实例

作者:lincappu 时间:2023-05-27 09:25:43 

最近在对接微信公众号、微信支付等功能,发现很多都是用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'>

来源:https://www.cnblogs.com/lincappu/p/13343808.html

标签:Python,xml,to,dict,模块
0
投稿

猜你喜欢

  • MySQL数据库的临时文件究竟储存在哪里

    2009-02-13 13:44:00
  • 教你为MySQL数据库换挡加速

    2010-03-03 16:58:00
  • 对网站内嵌gradio应用的输入输出做审核实现详解

    2023-07-22 08:22:05
  • Python3 pandas 操作列表实例详解

    2021-11-30 14:24:12
  • mysql修改密码的三方法和忘记root密码的解决方法

    2024-01-24 18:45:12
  • SQL中where语句的用法及实例代码(条件查询)

    2024-01-17 22:37:16
  • python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)

    2022-12-31 16:20:14
  • PyQt5+serial模块实现一个串口小工具

    2021-04-25 00:51:19
  • 解决pycharm工程启动卡住没反应的问题

    2021-04-05 09:54:02
  • jQuery页面滚动浮动层智能定位实例代码

    2024-04-22 22:22:16
  • python opencv检测目标颜色的实例讲解

    2021-09-02 01:05:33
  • Python实现简单查找最长子串功能示例

    2023-01-14 01:20:33
  • 解决MSSQL2005远程连接sql2000非默认端口数据库的问题

    2024-01-28 09:41:10
  • 简单的python后台管理程序

    2022-01-07 03:49:30
  • C#部署数据库及IIS站点

    2024-01-17 07:50:08
  • MySQL Where 条件语句介绍和运算符小结

    2024-01-12 13:17:43
  • Oracle如何获取数据库系统的当前时间

    2024-01-21 22:20:55
  • 在登录触发器错误情况下连接SQL Server的方法

    2024-01-25 19:37:51
  • python益智游戏计算汉诺塔问题示例

    2023-02-20 13:02:56
  • mysql 单机数据库优化的一些实践

    2024-01-15 19:01:25
  • asp之家 网络编程 m.aspxhome.com