def recursive_find_xml_element( xmlnode, name, _nodes=None ):
    """
    recursively finds all XML sub-elements with the name 'name', such as

        for nd in recursive_find_xml_element( xmlnode, 'TestList' ):
            pass
    """
    if _nodes == None:
        _nodes = []

    for nd in xmlnode:
        if nd.tag == name:
            _nodes.append( nd )
        recursive_find_xml_element( nd, name, _nodes )

    return _nodes