Esempio n. 1
0
 def write(self, data):
     if self.options.set is None and self.options.param is None:
         raise IOError("Unspecified model component")
     root = ET.Element('table')
     table = self.get_table()
     labels = table[0]
     for i in range(len(labels)):
         labels[i] = str(labels[i])
     for trow in table[1:]:
         row = ET.SubElement(root, 'row')
         for i in range(len(labels)):
             data = ET.SubElement(row, labels[i])
             data.set('value', str(trow[i]))
     #
     tree = ET.ElementTree(root)
     tree.write(self.filename)
Esempio n. 2
0
def element_for_value(obj, parent):
    for key, value in obj.items():
        if isinstance(value, dict):
            node = etree.SubElement(parent, key)
            element_for_value(value, node)
        elif isinstance(value, list):
            if not value:
                node = etree.SubElement(parent, key)

            for item in value:
                node = etree.SubElement(parent, key)
                element_for_value(item, node)
        else:
            if key.startswith('@'):
                parent.set(key.lstrip('@'), value)
            else:
                node = etree.SubElement(parent, key)
                node.text = '{0}'.format(value) if value is not None else ''