import re import simplejson as json def xml2dict(xml, jsonString = ''): tags, keys = re.findall('',xml), [] for tag in tags: keys.append(re.sub('[]+','',tag)) for index in range(len(tags)-1): jsonString += {'<><>': '"'+keys[index]+'": {', '<>': '"'+keys[index]+'": "'+xml[xml.find(tags[index])+len(tags[index]):xml.find(tags[index+1])]+'"', '<>': ', ', '': '}'}[tags[index].replace(keys[index],'')+tags[index+1].replace(keys[index+1],'')] return json.loads('{%s}' % jsonString)