This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
Seemed plain enough to me. Write out an XML file. Only gets tricky if you worry about extended character sets (e.g. UTF-16).
I went looking the other day and I still haven't found an industry-standard package for writing out XML, though if you use Xerces, I think they have a DOMWriter class these days. I have an XMLWriter class I did in my EJBWizard that's pretty easy to use, although slightly quirky. I've recommended to others and they've been happy with it.
It's at http://www.mousetech.com/EJBWizard.html. Grab the source tarball (WinZip can unzip it) and look for the XMLWriter class. I think the package name is something like com.mousetech.ejbwizard.util.xml. This class is completely independent of the rest of the EJBWizard code, so you you can just pull it out and use it (or modify it) as you wish.
Customer surveys are for companies who didn't pay proper attention to begin with.
You do not need to use a 3rd party library. You can use java.beans.XMLEncoder. It works just like ObjectOutputStream except the output is of course XML. To use it your classes must follow the JavaBean standard. I ran into a situation where a library I was using did not follow proper naming standards for the accessor methods so the XMLEncoder would not work. I ended up using XStream which works like a charm. With XStream you do not need to follow any naming standards at all. It just works!