XML databinding question

U

udupi_mail

Can anybody suggest possible databinding options which would bind(map)
xml instance docs(which conforms to some pre-defined xsd) to a
PRE-EXISTING java object (see below example). I looked at xstream which
seems to be a good option for serializing/deserializing objects to xml
and vice-versa(xstream does not care for schemas). Same with JAXB,
Castor or Xmlbeans ..I have not found a way to map the below xml to my
custom java obj?

Any pointers will be very helpful.

TIA,
Guru.

an e.g. would be :
<schema>
<complexType>
<sequence>
<element name="name" type="string" />
<element name="deptid" type="int" />
</sequence>
</complexType>
</schema>


Instance doc:
<employee>
<name>Joe Trader</name>
<deptid>10</deptid>
</employee>


Custom Java obj (with no default const., accessors or mutators):
public class Employee
{
public final String name;
public final int deptid;

public Employee (String name, int deptid) // overloaded const.
{
this.name = name;
this.deptid = deptid;
}

}
 
D

Daniel Dyer

Can anybody suggest possible databinding options which would bind(map)
xml instance docs(which conforms to some pre-defined xsd) to a
PRE-EXISTING java object (see below example). I looked at xstream which
seems to be a good option for serializing/deserializing objects to xml
and vice-versa(xstream does not care for schemas). Same with JAXB,
Castor or Xmlbeans ..I have not found a way to map the below xml to my
custom java obj?

JiBX (http://jibx.sourceforge.net) should be able to map your example with
no problems at all. You should be able to find examples in the
documentation. JiBX works at a lower level than many of the alternative
tools, so it does not need to rely on Java Beans conventions or
reflection. Instead there is an extra build step that injects bytecode
into your classes. This approach has the twin advantages of being
non-invasive (at the source level) and very fast at runtime.

Dan.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,825
Latest member
VernonQuy6

Latest Threads

Top