Hi Derek,
unfortunately my last (long) post got lost because there was some problem with the connection to JavaRanch
So here once again in short:
I'm not sure if I got you right and I don't know how this is related to databases. But as I understand your problem you use a HashMap as in-memory database and now you want to save it to and load it from disk?!? Hope this is correct...
Java serialization will be more compact and therefore faster because it's a binary data format. To work correctly the whole object graph of all things you put into the map have to be serializable. If this is no problem and you only have Java applications using these data then serialization is an option.
XML on the other hand is more verbose because it's text data. So the disadvantage is clearly that it produces more I/O overhead and therefore it will be slower, in particular if you have lots of data. The advantages are that the data will be human readable and editable. You can use lots of tools and other programming languages to edit or read the data because it's highly interchangeable. To load and save the data there are many APIs and libraries you can use in Java depending on your needs. For this it's difficult to give a good advice without knowing your requirements and some more details about the data and application. Possible ways to use XML in Java that come to mind are the following APIs and libs: SAX, DOM, StAX, JAXB, xstream and others...
Marco