一、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的更多相关文章

  1. xml字符串转xml对象,xml对象转json对象

    xml字符串转xml对象: function loadXml(str) { if (str == null) { return null; } var doc = str; try{ doc = cr ...

  2. js压缩xml字符串,将xml字符串转换为xml对象,将xml对象转换为json对象

    /** * 压缩xml字符串 */ function compressXmlStr(str){ var prefix, suffix; var i = str.indexOf("\r&quo ...

  3. xml字符串,xml对象,数组之间的相互转化

    <?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller { pu ...

  4. 吴裕雄--天生自然python学习笔记:Python3 XML 解析

    什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存 ...

  5. tinyXml直接解析XML字符串

    一直都用tinyxml直接LoadFile来解析XML,发现原来也可以直接解析XML字符串. XML文件: <?xml version=\"1.0\" encoding=\& ...

  6. python中用ElementTree.iterparse()读取xml文件中的多层节点

    我在使用Python解析比较大型的xml文件时,为了提高效率,决定使用iterparse()方法,但是发现根据网上的例子:每次if event == 'end':之后elem.clear()或者是每次 ...

  7. 将Xml字符串转换成(DataTable || DataSet || XML)对象

    今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...

  8. 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 = ...

  9. C#读取XML字符串及将XML字符串反序列化为对象

    在开发中遇到调用接口范围XML格式结果情况,获取结果中我们需要的信息则可能需要这两种数据处理: 1.如何将xml字符串转换为xml对象,及查询想要的节点: 通过XmlDocument对象加载xml字符 ...

  10. Python 解析构建数据大杂烩 -- csv、xml、json、excel

    Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记语言 Html ,但主要对文档和数据 ...

随机推荐

  1. Elasticsearch搜索引擎学习笔记(二)

    可视化插件 GitHub搜索elasticsearch-head并下载,如果网络不好可以在gitee上搜索. 这是一个前端项目,需要安装nodejs. 在项目根目录执行 npm install npm ...

  2. SuperSocket 服务端 和 SuperSocket.ClientEngine 客户端及普通客户端

    internal class Program { //static void Main(string[] args) //{ // byte[] arr = new byte[1024]; // 1. ...

  3. C# 之委托的多播

    1 delegate void NumberCalculator(int a); 2 class Program 3 { 4 static int num1 = 100; 5 static void ...

  4. 超详细移动端侧AI口罩识别实现与部署(含源码)

    开发环境 数据标注:label studio :https://labelstud.io/ 模型训练:tensorflow 附完整的训练源码和数据 部署开发:Android studio + tens ...

  5. rust学习笔记(7)

    crate 中文是货箱,这是我们编写自己的库或者程序的方式 库 使用rustc可以把一个文件编译为lib rustc --crate-type=lib rary.rs 构建的方式选择lib 编译出来的 ...

  6. mysql order by 中文排序

    前言 在 MySQL 中,我们经常会对一个字段进行排序查询,但进行中文排序和查找的时候,对汉字的排序和查找结果往往都是错误的. 这种情况在 MySQL 的很多版本中都存在. 如果这个问题不解决,那么 ...

  7. php7有哪些新特性

    目录 太空船操作符 标量类型声明和返回值的类型说明 null 合并操作符 常量数组 namespace 批量导入 非混合模式的 use 声明 混合模式的 use 声明 复合模式的 use 声明 thr ...

  8. AI 代理的未来是事件驱动的

    AI 代理即将彻底改变企业运营,它们具备自主解决问题的能力.适应性工作流以及可扩展性.但真正的挑战并不是构建更好的模型. 代理需要访问数据.工具,并且能够在不同系统之间共享信息,其输出还需要能被多个服 ...

  9. Docker镜像介绍

    一.Docker镜像介绍 镜像是Docker的三大核心概念之一. Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hu ...

  10. D的SDK的设置

    有点烦,被困扰.看大虾的文章一并感谢: 进入D:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK ...