I'm not entirely sure if this is what you are looking for, but you can use something like XMLBeans to bind XML to Java objects. I had to use it at a previous employer. Unfortunately, it was an existing system and I only had to manipulate the objects and didn't have to produce the library that contains them. Also, I'm not sure how well it will work without an XSD (you didn't mention if you had one or not).