So you are about to design an XML-cache for the data in the DB tables, right?
I suggest you use a DOM tree to actually manipulate the XML document. Just make sure all the mutator methods ( methods that change/update the XML content ) are inside synchornized methods. This way you can be sure concurrent access will not generate garbage.
Hope that helps. I am assuming you have explored the XML support Oracle has in version 8i. If not, its worth a consideration as it can greatly enhance generating XML files from resultsets.
------------------
Ajith Kallambella M. Sun Certified Programmer for the Java�2 Platform.
IBM Certified Developer - XML and Related Technologies, V1.