When talking about object marshalling in most of the Java-XML data binding APIs, it has been said that the the XML file is recreated from the user defined classes from memory? I'm quite confusing about saying (user defined classes from memory). I know using reflection will help to get the class names and/or fields in case of need for implementing the marshalling process, but how the data (values for the elements or attributes) can be accessed?Is there any one can explain this process a little?thanks