python解析xml字符串与xml转json
2022/2/3 22:13:06
本文主要是介绍python解析xml字符串与xml转json,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、python解析xml字符串 from xml.dom.minidom import parseString xml_str=""" <root> <privateKey>UAP_2oSY90</privateKey> <srcContent> </srcContent> <dataContent> <syncContent dataType="1" operType="1"> <syncUnicode>0410000043</syncUnicode> <oldContent realmId="1"> <baseInfo> <deptName text="组织机构全称">旧部门</deptName> <deptUniCode text="组织机构编码">0410000043</deptUniCode> <showNum text="排序编号">9999</showNum> <deptStatus text="组织机构状态">1</deptStatus> <isCorp text="组织机构类型" deptConfId="3">1</isCorp> </baseInfo> <parentInfo> <parentCode id="8471" text="父级组织机构唯一标识" levelCode="561G.8471G" deptName="人"> 0432000000 </parentCode> </parentInfo> </oldContent> <changeContent> </changeContent> <newContent realmId="1"> <baseInfo> <deptName text="组织机构全称">新部门</deptName> <deptUniCode text="组织机构编码">0410000043</deptUniCode> <showNum text="排序编号">9999</showNum> <deptStatus text="组织机构状态">1</deptStatus> <isCorp text="组织机构类型" deptConfId="3">1</isCorp> </baseInfo> <parentInfo> <parentCode id="8471" text="父级组织机构唯一标识" levelCode="561G.8471G" deptName="人"> 0432000000 </parentCode> </parentInfo> </newContent> </syncContent> </dataContent> </root> """ doc = parseString(xml_str) collection = doc.documentElement returnInfo = collection.getElementsByTagName("deptName")[0].childNodes[0].data # 返回的是:天 dataType=collection.getElementsByTagName("syncContent")[0].getAttribute("dataType") operType=collection.getElementsByTagName("syncContent")[0].getAttribute("operType") #返回的是:1 #获取节点名称,查找元素 for i in collection.getElementsByTagName("deptName"): print (i.childNodes[0].data) #返回:旧部门 # 新部门 oldContents = collection.getElementsByTagName("oldContent") for oldContent in oldContents: baseInfos = oldContent.getElementsByTagName('baseInfo') for baseInfo in baseInfos: baseInfo.getElementsByTagName('deptName')[0].childNodes[0].data
2、xml转json的函数
import json import xmltodict #定义xml转json的函数 xmlstr =""" <root> <privateKey>UAP_2oSY90</privateKey> <srcContent> </srcContent> <dataContent> <syncContent dataType="1" operType="1"> <syncUnicode>0410000043</syncUnicode> <oldContent realmId="1"> <baseInfo> <deptName text="组织机构全称">旧部门</deptName> <deptUniCode text="组织机构编码">0410000043</deptUniCode> <showNum text="排序编号">9999</showNum> <deptStatus text="组织机构状态">1</deptStatus> <isCorp text="组织机构类型" deptConfId="3">1</isCorp> </baseInfo> <parentInfo> <parentCode id="8471" text="父级组织机构唯一标识" levelCode="561G.8471G" deptName="人"> 0432000000 </parentCode> </parentInfo> </oldContent> <changeContent> </changeContent> <newContent realmId="1"> <baseInfo> <deptName text="组织机构全称">新部门</deptName> <deptUniCode text="组织机构编码">0410000043</deptUniCode> <showNum text="排序编号">9999</showNum> <deptStatus text="组织机构状态">1</deptStatus> <isCorp text="组织机构类型" deptConfId="3">1</isCorp> </baseInfo> <parentInfo> <parentCode id="8471" text="父级组织机构唯一标识" levelCode="561G.8471G" deptName="人"> 0432000000 </parentCode> </parentInfo> </newContent> </syncContent> </dataContent> </root> """ #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)
这篇关于python解析xml字符串与xml转json的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程
- 2024-12-20Vuex4课程:新手入门到上手实战全攻略