I’d recommend doing this. It is exactly like any other setup where you have an application and it stores data in a database. If the application container is stateless, then it doesn’t care where it runs so long as it can reach the database. The database doesn’t have to be Docker-based (IMHO it’s very convenient for development and probably isn’t right in production).
This is probably the worst option: the file will be deleted when the container exits, and there’s not any way to move the former container’s contents to another place.
A related option that could work is to mount a volume into the container, and store the XML file there. It could be a host-system directory, in which case you’d have to physically copy the file to move across systems, or you could use a multi-host-capable Docker volume plugin, but I don’t have any recommendations for that.
If a database is an option, it’ll probably be most familiar to your sysadmins, most straightforward to setup, and most maintainable long-term.