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的更多相关文章
- xml字符串转xml对象,xml对象转json对象
xml字符串转xml对象: function loadXml(str) { if (str == null) { return null; } var doc = str; try{ doc = cr ...
- js压缩xml字符串,将xml字符串转换为xml对象,将xml对象转换为json对象
/** * 压缩xml字符串 */ function compressXmlStr(str){ var prefix, suffix; var i = str.indexOf("\r&quo ...
- xml字符串,xml对象,数组之间的相互转化
<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller { pu ...
- 吴裕雄--天生自然python学习笔记:Python3 XML 解析
什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存 ...
- tinyXml直接解析XML字符串
一直都用tinyxml直接LoadFile来解析XML,发现原来也可以直接解析XML字符串. XML文件: <?xml version=\"1.0\" encoding=\& ...
- python中用ElementTree.iterparse()读取xml文件中的多层节点
我在使用Python解析比较大型的xml文件时,为了提高效率,决定使用iterparse()方法,但是发现根据网上的例子:每次if event == 'end':之后elem.clear()或者是每次 ...
- 将Xml字符串转换成(DataTable || DataSet || XML)对象
今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...
- Winform: use the WebBrowser to display XML with xslt, xml, xslt 转 html 字符串
原文:Winform: use the WebBrowser to display XML with xslt, xml, xslt 转 html 字符串 声明xml字符串: string xml = ...
- C#读取XML字符串及将XML字符串反序列化为对象
在开发中遇到调用接口范围XML格式结果情况,获取结果中我们需要的信息则可能需要这两种数据处理: 1.如何将xml字符串转换为xml对象,及查询想要的节点: 通过XmlDocument对象加载xml字符 ...
- Python 解析构建数据大杂烩 -- csv、xml、json、excel
Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记语言 Html ,但主要对文档和数据 ...
随机推荐
- 如何构建多模态AI知识库?
转载:如何构建多模态AI知识库? 摘要 在科技飞速发展的当下,人工智能(AI)已成为推动各行业变革的关键力量.其中,多模态 AI 知识库作为 AI 领域的重要创新,正引领我们迈向一个全新的智能时代.它 ...
- python xlrd xlwr函数 读取excel好文总结
https://www.cnblogs.com/python-robot/p/9958352.html 官网: http://www.python-excel.org/ 好文: https://www ...
- idea 缺失右侧maven窗口
最近整了一个别人的项目到本地,发现在git下载项目到本地后,再通过idea的打开项目后,缺失了右侧的maven窗口. 注: idea是有安装到maven(idea默认是已经安装好的) 打开的项目也是m ...
- Oracle删除用户及用户下的全部数据
1.查看用户 select * from all_users select * from user_users select * from dba_users 2.查看用户的连接状况 select ...
- bug|jest|vue|记录:关于【4-4 使用 TDD 的方式开发 Header 组件(1)】05:26时的运行测试用例出错的问题
错误情景 提示 jest 配置错误 Configuration error Configuration error: Could not locate module @/components/Hell ...
- 万字长文详解Text-to-SQL
什么是Text-to-SQL 在各个企业数据量暴涨的现在,Text-to-SQL越来越重要了,所以今天就来聊聊Text-to-SQL. Text-to-SQL是一种将自然语言查询转换为数据库查询的技术 ...
- Efficient Scalable Multi-Party Private Set Intersection
论文学习:Efficient Scalable Multi-Party Private Set Intersection 这篇论文提出了一种基于双中心零共享(Bicentric Zero-Sharin ...
- 【软件】Ubuntu下QT的安装和使用
[软件]Ubuntu下QT的安装和使用 零.前言 QT是应用得比较广泛的程序框架,是因为其跨平台特性比较好,且用C/C++作为开发语言,性能也比较好,故本文介绍如何安装和使用QT,用的版本是QT 6. ...
- MySqlDataAdapter.Fill() 报异常‘给定关键字不在字典中’的解决方案
MySqlDataAdapter.Fill() 报异常'给定关键字不在字典中'的解决方案 解决办法 升级依赖库 后来发现居然是MySql.Data.dll文件版本问题,我开始使用的是6.2.1.0版本 ...
- 自动驾驶 | 为CarLA添加一辆小米SU7 Part I
自动驾驶 | 为CarLA添加一辆小米SU7 Part I 导言 什么是CarLA? CarLA是一款基于虚幻引擎4(Unreal Engine 4)构建的开源自动驾驶仿真平台,为自动驾驶算法的研发. ...