Why not do this:
Have your script check to see whether the local copy is over a certain age, if it is then it requests a new one; here strategies branch: if the parsing is resource hungry, check the 'new' version against the old one to see whether you need to parse it. If you don't mind the occasional overhead of parsing the file, then just go ahead and parse it.
If the file isn't over a certain age (or if it is and the most recent version you snagged from the remote site is no different), it shows the cached version, clearly indicating that the version is cached and how old it is [ or the last time you checked ], providing the user with the opportunity to snag a new version.
[ Of course you might want to add some extra code here to make sure someone can't DoS you by constantly requesting a large file which you then have to parse ]
Is this appropriate for your site?
HTH
AC