146 if node.tag
in self.
rules[
'asArray']:
147 return [ {element.tag : self.
createJsonStruct(element)}
for element
in node ]
153 for attr
in sorted(node.attrib.keys()):
154 if (node.tag, attr)
in self.
rules[
'ignoreAttrib']:
156 if node.tag
in self.
rules[
'asInt']
and attr
in self.
rules[
'asInt'][node.tag]:
157 d[self.
renameKey(attr)] = int(node.attrib[attr])
159 d[self.
renameKey(attr)] = node.attrib[attr]
162 if element.tag
in self.
rules[
'ignoreElement']:
164 if (node.tag, element.tag)
in self.
rules[
'asMultiArray']:
167 if key
not in d: d[key] = list()
172 raise RuntimeError(
"element %s already attached to node %s and not declared as MultiArray" % (element.tag, node.tag))
174 if element.tag
in self.
rules[
'promote']:
177 d[promoted] = obj[promoted]