docs: def load_xmlobject_from_file(filename, xmlclass=XmlObject, validate=False,
          resolver=None):
      """Initialize an XmlObject from a file.
  
      See :meth:`load_xmlobject_from_string` for more details; behaves exactly the
      same, and accepts the same parameters, except that it takes a filename
      instead of a string.
  
      :param filename: name of the file that should be loaded as an xmlobject.
          :meth:`etree.lxml.parse` will accept a file name/path, a file object, a
          file-like object, or an HTTP or FTP url, however file path and URL are
          recommended, as they are generally faster for lxml to handle.
      """
      parser = _get_xmlparser(xmlclass=xmlclass, validate=validate, resolver=resolver)
  
      tree = etree.parse(filename, parser)
      return xmlclass(tree.getroot())