首页 > 编程语言 > 详细

python 处理xml 数据

时间:2020-06-06 15:14:36      阅读:48      评论:0      收藏:0      [点我收藏+]
 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 数据

原文:https://www.cnblogs.com/weijie0717/p/13054631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!