'Parse an XML source into an element tree
@param source: the XML source -
can be a file-like object, a filename or a HTTP/HTTPS/FTP URL'

def parse(self, source):

    self.error = None
    if (isinstance(source, basestring) and (source[:5] == 'https')):
        try:
            source = urllib2.urlopen(source)
        except:
            self.error = ('XML    Source    error:    %s' % sys.exc_info()[1])
            return None
    try:
        parser = etree.XMLParser(no_network=False, remove_blank_text=True)
        result = etree.parse(source, parser)
        return result
    except:
        self.error = ('XML    Parse    error:    %s' % sys.exc_info()[1])
        return None
