I think a good approach is to extract the URL of the file you are downloading using keywords like Get Element Attribute and download it outside of the browser. You are not validating the browser's ability to download a file, after all.
Its easy if you can download the file via GET and do not need to save it to disk (can work with it in memory).
Here's a keyword for that simple scenario that returns the file contents as a string:
import urllib2
def get_file(url):
return urllib2.urlopen(url).read()
The result could then be passed to XML.Parse XML, allowing you do do validation with the XML library. If you need to do a POST, then it is going to be a bit harder, but still possible.