Python中的xml与dict的转换方法详解
更新时间:2023年07月26日 10:15:25 作者:go_flush
这篇文章主要介绍了Python中的xml与dict的转换方法详解,xml 是指可扩展标记语言,一种标记语言类似html,作用是传输数据,而且不是显示数据。可以自定义标签,需要的朋友可以参考下
接口文档拿到的是XML,在线转化为json格式(目的是拿到xml数据的模板),存放到json文件中,根据接口名去提取。
- xml 是指可扩展标记语言,一种标记语言类似html,作用是传输数据,而且不是显示数据。可以自定义标签。
- Python 中的xml和dict 互相转化。使用的模块是xmltodict。
import re
import xmltodict
xml="""<notes>
<to>demo</to>
<from>哈哈</from>
<header>呵呵</header>
<body>"尼古拉斯赵四"</body>
</notes>"""
dict = {"goods":{"fruits":{"name":"melon","coloer":"red","nut":"walnut"}}}
class XmlToDict(object):
def get_dict(self,xml):
"""xml to dict"""
return xmltodict.parse(xml_input=xml,encoding="utf-8")
def get_xml_content(self,orderdict):
for i in orderdict:
print(orderdict[str(i)])
def get_content(self,xml):
first_title = re.match(r"<.*>", xml).group()[1:-1]
orderdict = self.get_dict(xml)
orderdict=orderdict[first_title]
self.get_xml_content(orderdict)
def dicttoxml(self,dict):
"""dict to xml"""
return xmltodict.unparse(dict,encoding="utf-8")
if __name__ == '__main__':
XmlToDict().get_content(xml)
ret=XmlToDict().dicttoxml(dict)
print(ret)- python 中还有一个模块dicttoxml ,将字典转成xml
mport dicttoxml
dict= {"goods":{"fruits":{"name":"melon","coloer":"red","nut":"walnut"}}}
ret_xml = dicttoxml.dicttoxml(dict,custom_root="Request",root=True).decode("utf-8") # 默认是byte 类型,转成str。
print(type(ret_xml)) 利用循环字典转成xml
dict = {
"fruit": "apple",
"goods": "hamburger"
}
def dicttoxml(iKwargs):
xml = []
for k in sorted(iKwargs.keys()):
v =iKwargs.get(k)
xml.append("<{key}>{value}</{key}>".format(key=k,value=v))
return "<xml>{}</xml>".format("".join(xml))
ret=dicttoxml(dict)
print(ret)上面就是xml和dict转化,如果需要转化json,内置的json模块就可以完成,但是在自动化测试框架中这样使用比较麻烦,而且复用性不好,封装好如下
import xmltodict
"""
xml和dict转换
"""
def dict_xml(dictdata):
"""
dict转xml
dictstr: dict字符串
return: xml字符串
"""
xmlstr=xmltodict.unparse(dictdata, pretty=True)
return xmlstr
def xml_dict(xmldata,moudle):
"""
xml转dict
xmlstr: xml字符串
moudle:根节点
return: dict字符串
"""
data=xmltodict.parse(xmldata,process_namespaces = True)
dictdata=dict(data)
_dictdata=dict(dictdata[moudle])
dictdata[moudle]=_dictdata
return dictdata到此这篇关于Python中的xml与dict的转换方法详解的文章就介绍到这了,更多相关Python中的xml与dict转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
这篇文章主要介绍了Scrapy-Redis之RedisSpider与RedisCrawlSpider详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11
Python使用PySimpleGUI和Pygame编写一个MP3播放器
这篇文章主要为大家详细介绍了Python如何使用PySimpleGUI和Pygame编写一个简单的MP3播放器,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下2023-11-11


最新评论