Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   XML (http://www.velocityreviews.com/forums/f32-xml.html)
-   -   XML databinding question (http://www.velocityreviews.com/forums/t392638-xml-databinding-question.html)

udupi_mail@yahoo.com 12-21-2006 04:44 AM

XML databinding question
 
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;
}

}


Daniel Dyer 12-21-2006 09:46 AM

Re: XML databinding question
 
On Thu, 21 Dec 2006 04:44:30 -0000, <udupi_mail@yahoo.com> wrote:

> 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.

--
Daniel Dyer
http://www.uncommons.org


All times are GMT. The time now is 05:39 AM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.