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()
原文地址:https://www.cnblogs.com/weijie0717/p/13054631.html