I needed to return all the members of an object as an XML document in Python. I used the ElementTree library to do this.
The class in question is pretty basic: It has a constructor, member variables, getters and setters for the member variables, and now this new function.
Every Python class has a built-in __dict__ member, which is a dictionary ({}) of key/value pairs for all of the member variables, so I use that to get all of the variables to add to the ElementTree.
This function returns an xml.etree.ElementTree.Element object, which can be turned into a string if needed by using ElementTree’s tostring() method.
def getXML(self): """ Returns an XML representation of the object """ topElem = Element("item") for key in self.__dict__.keys(): elem = SubElement(topElem, key) elem.text = str(self.__dict__[key]) return topElem