def _parseElement(self, elem): ''' Parses the provided XML element, filling the fields of the object with the data in the XML element. ''' if not elem: return if elem.name != 'Error': return self.__number = getXmlElementContents(elem, './Number') self.__source = getXmlElementContents(elem, './Source') self.__description = getXmlElementContents(elem, './Description') return
def parseFromXML(self, xmlpath_ctx): ''' Uses XPATH to parse the contents of an XML node and populate the field values with the data therein. ''' if not xmlpath_ctx: return if xmlpath_ctx.name != 'ZipCode': # Not an <ZipCode></ZipCode> element. return for elemName in ('City', 'State', 'Zip5'): fieldName = elemName[0].lower() + elemName[1:] try: fieldValue = getXmlElementContents(xmlpath_ctx, './%s' % elemName) self.__setattr__(fieldName, fieldValue) pass except Exception, ex: sys.stderr.write('USPSZipCode.parseFromXML(): Failed to parse element %s from XML.\n\t%s\n' % (elemName, str(ex))) pass pass
def parseFromXML(self, xmlpath_ctx): """ Uses XPATH to parse the contents of an XML node and populate the field values with the data therein. """ if not xmlpath_ctx: return if xmlpath_ctx.name != "Address": # Not an <Address></Address> element. return for elemName in ("FirmName", "Address1", "Address2", "City", "State", "Zip5", "Zip4"): fieldName = elemName[0].lower() + elemName[1:] try: fieldValue = getXmlElementContents(xmlpath_ctx, "./%s" % elemName) self.__setattr__(fieldName, fieldValue) pass except Exception, ex: sys.stderr.write( "USPSAddress.parseFromXML(): Failed to parse element %s from XML.\n\t%s\n" % (elemName, str(ex)) ) pass pass