将一个Etree XML结构转换为一个Python dict+list格式的代码,etreepython,from lxml im


from lxml import etree, objectifydef formatXML(parent):    """                                                                                                           Recursive operation which returns a tree formated                                                             as dicts and lists.                                                                                           Decision to add a list is to find the 'List' word                                                             in the actual parent tag.                                                                                     """    ret = {}    if parent.items(): ret.update(dict(parent.items()))    if parent.text: ret['__content__'] = parent.text    if ('List' in parent.tag):        ret['__list__'] = []        for element in parent:            if element.tag is not etree.Comment:                ret['__list__'].append(formatXML(element))    else:        for element in parent:            if element.tag is not etree.Comment:                ret[element.tag] = formatXML(element)    return ret## end of http://code.activestate.com/recipes/578244/ }}}

评论关闭