This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
Personally, I prefer Dom4J over JDom. It seems to have the more complete API, while still coming natural to a Java developer.
And I see one drawback using an XML-serializer like XStream - The XML structure is only implicitely defined by the object structure, so by refactoring your design, you can accidentally become incompatible to prior versions.
For things like configuration files I therefore prefer to define the XML structure via a schema and let the java classes be generated from it; for example using JAXB.