python 处理xml 数据
1 import xml.sax
2 import xml.sax.handler
3
4 # python 处理xml 数据 类,将xml数据转化为字典
5 '''
6 原数据:<?xml version='1.0' encoding='UTF-8'?><recordset><user><empNo>9321</empNo><name>张氏</name><mis>张氏</mis><system>百度</system><fullDeptName>/百度/销售支持部/业务培训组</fullDeptName><position>业务培训经理</position><positionType>管理类</positionType><ygState>正式</ygState><ygType>管理员工</ygType><zwz>管理族</zwz><rzDate>2008-04-02</rzDate><zzDate>2008-06-01</zzDate><zone>北京</zone><dxqs>15</dxqs><iflz>否</iflz><lzDate>null</lzDate><ssoid>9764043</ssoid><im>zhangshi</im><email>zhangshi@baidu.com</email></user></recordset> 7 处理后:{'empNo': '9321', 'name': '张氏', 'mis': '张氏', 'system': '百度', 'fullDeptName': '/百度/销售支持部/业务培训组', 'position': '业务培训经理', 'positionType': '管理类', 'ygState': '正式', 'ygType': '管理员工', 'zwz': '管理族', 'rzDate': '2008-04-02', 'zzDate': '2008-06-01', 'zone': '北京', 'dxqs': '15', 'iflz': '否', 'lzDate': 'null', 'ssoid': '9764043', 'im': 'zhangshi', 'email': 'zhangshi@baidu.com', 'user': 'zhangshi@baidu.com', 'recordset': 'zhangshi@baidu.com'} 8 '''
9 class XMLHandler(xml.sax.handler.ContentHandler):
10 def __init__(self):
11 self.buffer = ""
12 self.mapping = {}
13
14 def startElement(self, name, attributes):
15 self.buffer = ""
16
17 def characters(self, data):
18 self.buffer += data
19
20 def endElement(self, name):
21 self.mapping[name] = self.buffer
22
23 def getDict(self):
24 return self.mapping
#调用执行,处理xml数据
1 xh = XMLHandler()
2 xml.sax.parseString(r11.encode(), xh) #r11 为XML 数据。
3 result_dict = xh.getDict()
python 处理xml 数据的更多相关文章
- python之xml数据解析
因为项目需求需要查询一些网站的ALEXA排名,百度后得到的方法是,访问http://data.alexa.com/data?cli=10&dat=snbamz&url=%YOURURL ...
- 【python小随笔】python 解析xml数据的新手大坑>>抓取多重标签,遍历各标签的数据
xml文档: <GetMatchingProductResult ASIN="B071LF9R6G" status="Success">...< ...
- Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)
本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 一.前言 我们在<中我们描述了Python数据持久化的大体概念和基本处理方式,通过这些知识点我们已经 ...
- 【转】Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)
[转]Python之xml文档及配置文件处理(ElementTree模块.ConfigParser模块) 本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 ...
- Python 解析构建数据大杂烩 -- csv、xml、json、excel
Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记语言 Html ,但主要对文档和数据 ...
- python开发_xml.etree.ElementTree_XML文件操作_该模块在操作XML数据是存在安全隐患_慎用
xml.etree.ElementTree模块实现了一个简单而有效的用户解析和创建XML数据的API. 在python3.3版本中,该模块进行了一些修改: xml.etree.cElementTree ...
- Python 导入CSV、JSON、XML数据
常见的机器可读格式包括: - 逗号分隔值(Comma-Separated Values,CSV)- 制表符分隔值(tab-separated values,TSV)- JavaScript 对象符号( ...
- 使用Python解析JSON数据的基本方法
这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下: ----------------------------------- ...
- python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
随机推荐
- 简单学习PHP中的层次性能分析器
在 PHP 中,我们需要进行调试的时候,一般都会使用 memory_get_usage() 看下内存的使用情况.但如果想看当前的脚本 CPU 的占用情况就没有什么现成的函数了.不过,PHP 也为我们提 ...
- Java基础系列(38)- 数组的使用
数组的使用 For-Each循环 数组作方法入参 数组作返回值 For-Each循环 普通型 package array; import sun.security.util.Length; publi ...
- 获取用户id的方法
/** 获取ip */function getip() { if(getenv("HTTP_X_FORWARDED_FOR")!=''){ $cip = getenv(" ...
- 深入浅出WPF-11.Template(模板)01
模板 在WPF中,模板可以分为两大类: 控件模板(ControlTemplate)是算法内容的表现形式,一个控件怎么组织其内部的结构才能让它更符合业务逻辑,让用户操作更舒服,都是由她控制的.它决定了控 ...
- 关于国密HTTPS 的那些事(一)
关于国密HTTPS 的那些事(一) 随着<密码法>密码法的颁布与实施,国密的应用及推广终于有法可依.而对于应用国密其中的一个重要组成部分----国密HTTPS通信也应运而生.为了大家更好的 ...
- Unity Event Trigger 事件响应(二维,三维)添加组件
EventTrigger 上主要的方法有PointerEnter.PointerExit.PointerDown.PointerUp.PointerClick............都会显示在面板上面 ...
- Android12系统源码分析:NativeTombstoneManager
Android12系统源码分析:NativeTombstoneManager 概述 android12新增的system_server进程(LocalService)本地服务,用于管理native t ...
- PLSQL安装,PLSQL汉化,激活
一)准备工作 1.点击下载PLSQL:https://www.allroundautomations.com/registered-plsqldev/.本次安装的是12.0.7,安装版本为64位 2. ...
- 实时获取股票数据,免费!——Python爬虫Sina Stock实战
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 实时股票数据的重要性 对于四大可交易资产:股票.期货.期权.数字货币来说,期货.期权.数字货币,可以从交 ...
- RabbitMQ持久化机制、内存磁盘控制(四)
一.持久化 如果看到这一篇文章的朋友,都是有经验的开发人员,对持久化的概念就不用再做过多的解析了,经过前面的几篇文章,其实不难发现RabbitMQ 的持久化其实就只分交换器持久化.队列持久化和消息持久 ...