Converting simple XML to JSON with some Google like extensions (http://code.google.com/apis/gdata/docs/json.html) like $t for text content and replace ‘:’ in element name with ‘$’. It is fairly simple here is how I do it.
import xml.parsers.expat import sys,string # 3 handler functions def start_element(name, attrs): #sys.stdout.write 'Start element:', name, attrs sys.stdout.write('{"'+string.replace(name,':','$')+'":{') for attr in attrs.keys(): sys.stdout.write('"'+attr+'":"'+attrs[attr]+'",') def end_element(name): #sys.stdout.write 'End element:', name sys.stdout.write('}') def char_data(data): #sys.stdout.write 'Character data:', repr(data) if data and (data!=""): sys.stdout.write( '"$t":{"'+data+'"}' ) p = xml.parsers.expat.ParserCreate() p.StartElementHandler = start_element p.EndElementHandler = end_element p.CharacterDataHandler = char_data p.Parse("""<?xml version="1.0"?> <ns:parent id="top"><child1 name="paul">Text goes here</child1><child2 name="fred">More text</child2></ns:parent>""", 1)