本文章向大家介绍利用Python怎么将xml和dict格式进行转换的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站建设、赤壁网络推广、小程序定制开发、赤壁网络营销、赤壁企业策划、赤壁品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联建站为所有大学生创业者提供赤壁建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.comPython是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。
#has是节点属性 elements more elements element as well
由于目前没有找到能够将XML直接赋值给函数的方法,所以先用在线转化工具将XML转化为JSON,转化后的结果为
{ "mydocument": { "-has": "an attribute", #在这里要留意一个事情,XML是有节点的,节点有属性,json数据的键之前有-的,就是属性,但是xmltodict识别的属性是@,所以要把-替换为@(就是这里找了好久) "and": { "many": [ "elements", "more elements" ] }, "plus": { "-a": "complex", "#text": " element as well " } } }
示例代码
dictdata={ "mydocument": { "@has": "an attribute", "and": { "many": [ "elements", "more elements" ] }, "plus": { "@a": "complex", "#text": "element as well" } } } xmldata=xmltodict.unparse(dictdata,pretty=True)#dict转xml print(xmldata)#解析结果可以复制运行查看,结果是原始数据 new_dictdata=xmltodict.parse(xmldata,process_namespaces = True)#xml转dict print(new_dictdata)#在这里有一个注意事项,new_dictdata的数据格式是,并不直接是dict,需要自行处理 """ 处理方式如下 """ key_dictdata=dict(new_dictdata) value_dictdata=dict(dict(new_dictdata)["mydocument"]) key_dictdata["mydocument"]=value_dictdata print(key_dictdata) 上面就是xml和dict转化,如果需要转化json,内置的json模块就可以完成,但是在自动化测试框架中这样使用比较麻烦,而且复用性不好,封装好如下 #-*- coding: utf-8 -* #@author 小测试 #@create 2019-10-30 15:46 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格式进行转换的全部内容了,希望大家多多支持创新互联成都网站设计公司!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款