code: def load(text, match=None):
      
      if text is None: return None
      text = text.strip()
      if len(text) == 0: return None
      nametable = {
          'namespaces': [],
          'names': {}
      }
  
      # Convert to unicode encoding in only python 2 for xml parser
      if(sys.version_info < (3, 0, 0) and isinstance(text, unicode)):
          text = text.encode('utf-8')
  
      root = XML(text)
      items = [root] if match is None else root.findall(match)
      count = len(items)
      if count == 0: 
          return None
      elif count == 1: 
          return load_root(items[0], nametable)
      else:
          return [load_root(item, nametable) for item in items]
docs: This function reads a string that contains the XML of an Atom Feed, then 
      returns the 
      data in a native Python structure (a ``dict`` or ``list``). If you also 
      provide a tag name or path to match, only the matching sub-elements are 
      loaded.
  
      :param text: The XML text to load.
      :type text: ``string``
      :param match: A tag name or path to match (optional).
      :type match: ``string``