added todict() method
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Fri, 21 Oct 2011 17:29:56 +0000 (13:29 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Fri, 21 Oct 2011 17:29:56 +0000 (13:29 -0400)
sfa/util/xml.py

index 5a2656c..2618ca1 100755 (executable)
@@ -181,6 +181,18 @@ class XML:
 
     def toxml(self):
         return etree.tostring(self.root, pretty_print=True)  
+    
+    def todict(self, elem=None):
+        if elem is None:
+            elem = self.root
+        d = {}
+        d.update(elem.attrib)
+        d['text'] = elem.text
+        for child in elem.iterchildren():
+            if child.tag not in d:
+                d[child.tag] = []
+            d[child.tag].append(self.todict(child))
+        return d            
         
     def save(self, filename):
         f = open(filename, 'w')