childdict={}
for attribute in nodeDom.attributes.keys():
childdict = self.appendToDictOrCreate(childdict, attribute, nodeDom.getAttribute(attribute))
-
for child in nodeDom.childNodes[:-1]:
if (child.nodeValue):
siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, child.nodeValue)
child = nodeDom.childNodes[-1]
if (child.nodeValue):
siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, child.nodeValue)
+ if (childdict):
+ siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, childdict)
else:
siblingdict = self.toGenDict(child, siblingdict, childdict, curNodeName)
else:
- siblingdict[curNodeName]=[]
+ childdict={}
+ for attribute in nodeDom.attributes.keys():
+ childdict = self.appendToDictOrCreate(childdict, attribute, nodeDom.getAttribute(attribute))
+
+ self.appendToDictOrCreate(siblingdict, curNodeName, childdict)
if (parentdict is not None):
parentdict = self.appendToDictOrCreate(parentdict, parent, siblingdict)
"""
Convert a dictionary into a dom object and store it.
"""
- self.rootNode = self.dict2dom(rdict, include_doc)
+ self.rootNode = self.dict2dom(rdict, include_doc).childNodes[0]
def getDictsByTagName(self, tagname, dom = None):