how to create xml

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • diwakar09
    New Member
    • Sep 2007
    • 39

    how to create xml

    Hi,

    I have a json that i have parsed with simplejson, Now i have to make a xml by using this json
    Code:
    a = simplejson.loads('{"result":"true","name":{"first":"abcd","middle":"efgh"}}')
     a
    {u'result': u'true', u'name': {u'middle': u'efgh', u'first': u'abcd'}}
    now i have to create a xml by using these data like name,result,mid dle,first.

    could you tell me how to do this,
    some code will be good for me,
    if you can tell links that will also be good.
    Thanx
  • diwakar09
    New Member
    • Sep 2007
    • 39

    #2
    Hi
    i have got the thing, so no need to try it guys
    here is the whole code
    Code:
    from xml.dom.minidom import Document
    import simplejson
    doc = Document()
    class xmlhelper:
        astring = None
        jsonBuffer = None
        def __init__(self,sstr):
            self.astring = sstr
        def createjson(self):
            self.jsonBuffer =  simplejson.loads(self.astring)
        def isValidDict(self, aDict):
            try:
                itemList = aDict.items()
                return True
            except:
                return False
            
        def createXML(self,aTime,key,dict):
            # Create the minidom document
            result = doc.createElement(key)
            aTime.appendChild(result)
            val = dict.get(key)
    
            if self.isValidDict(val):
                dictobj = dict.get(key)
                for i in dictobj.iterkeys():
                    j = dictobj.get(i)
                    if self.isValidDict(j):
                        self.createXML(result,i,j)
                    else:
                        temp = doc.createElement(i)
                        result.appendChild(temp)
                        ptext = doc.createTextNode(j)
                        temp.appendChild(ptext)
            else:
                ptext = doc.createTextNode(val)
                result.appendChild(ptext)
                return
                
    
        def jsontoxml(self):
            aTime = doc.createElement('aTime')
            doc.appendChild(aTime)
            for key in self.jsonBuffer.iterkeys():
                self.createXML(aTime,key,self.jsonBuffer)
            print doc.toprettyxml(indent="  ")
    
    def xmlStart():
        
        obj = xmlhelper('{"result":"true","name":{"first":"abcd","middle":"dhsjk"},"command":{"inter":"ps","exter":"ls"}}')
        obj.createjson()
        obj.jsontoxml()

    Comment

    Working...