'import gexf xml meta tags to create a Gexf Object and delegate Graph extraction to Graph class'

@staticmethod
def importXML(gexf_file):

    parser = etree.XMLParser(ns_clean=True)
    tree = etree.parse(gexf_file, parser)
    gexf_xml = tree.getroot()
    tag = ns_clean(gexf_xml.tag).lower()
    if (tag != 'gexf'):
        msg_unexpected_tag('gexf', tag)
        return
    gexf_obj = None
    for child in gexf_xml:
        tag = ns_clean(child.tag).lower()
        if (tag == 'meta'):
            meta_xml = child
            for child in meta_xml:
                tag = ns_clean(child.tag).lower()
                if (tag == 'creator'):
                    creator = child.text
                if (tag == 'description'):
                    description = child.text
            gexf_obj = Gexf(creator=creator, description=description)
        if (tag == 'graph'):
            graph_xml = child
            if (gexf_obj == None):
                msg_unexpected_tag('meta', tag)
                return
            Graph.importXML(graph_xml, gexf_obj)
    return gexf_obj
