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 ,但主要对文档和数据 ...
随机推荐
- Twain Capabilities属性
Asynchronous Device Events 异步设备事件 CAP_DEVICEEVENT MSG_SET选择应用程序希望Twain源报告的事件; MSG_RESET返回Twain源的首选设置 ...
- tinyint、int的区别
1.tinyint(1字节--4位[带符号]) 很小的整数.带符号的范围是-128到127.无符号的范围是0到255. 2.smallint(2字节--6位[带符号]) 小的整数.带符号的范围是-32 ...
- PHP对表单提交特殊字符的过滤和处理方法汇总
http://www.jb51.net/article/46921.htm PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripsl ...
- pandas 操作excel
一 Series 什么是series 相当于表格中的行和列,不同的设置可以按行或列排序 2.series 创建 空的series import pandas as pd s2=pd.Series() ...
- 华为平板+Zotero+Xodo+坚果云+Zotfile+Zotero OCR,实现论文笔记平板手写+Win自动生成,补充官方教程
需要的硬件,软件,插件和实现的最终效果,rt. 1. Win,下载Zotero,坚果云 下载网址:https://www.zotero.org/download/ 版本:Zotero 6.如果是其他版 ...
- 前缀函数和 KMP "跳步骤"模式匹配
在一篇由字符构成的长文中查找另一个短字符串出现的位置,这可以算是编程领域最最常见的问题(比如按下 Ctrl + F 就可以打开你浏览器的查找功能).这个问题叫做字符串的模式匹配,我们把被查找的关键词叫 ...
- PIO----创建Excel表格复杂使用
导出 @RequestMapping( name = "下载模板附件实现Model", value = {"/uploadFileModel"}, method ...
- Linux下如何重启Oracle
操作步骤 切换到oracle用户 su – oracle 通过sqlplus以管理员身份登录 sqlplus / as sysdba 然后执行 shutdown immediate 退出sqlplus ...
- 关于IPMP
国际项目经理资质认证(International Project Manager Professional,简称IPMP)是国际项目管理协会(International Project Managem ...
- wait、notify、notifyAll的理解与使用
基础知识 Java 中,可以通过配合调用 Object 对象的 wait() 方法和 notify() 方法或 notifyAll() 方法来实现线程间的通信. 在线程中调用 wait() 方法,将阻 ...