How to generate XML from XML schema in java and feed data in it?

LT_Chen picture LT_Chen · Jun 22, 2012 · Viewed 15.7k times · Source

I am developing part of a web app which takes an XML schema as input to generate an XML file. There is also data to be put into the XML tags in an ordered way.

For example, If I have an ArrayList of 100 numbers, say, 1 to 100 and the .xsd looks like the following example:

xs:element name="elt1"

xs:complexType

xs:sequence

  xs:element name="elt1-1"

  xs:element name="elt1-2"

  xs:element name="elt1-3"

  xs:element name="elt1-4"

  xs:element name="elt1-5"

xs:sequence

xs:complexType

xs:element name="elt1" 

......other elements

How can I generate an XML file like the following:

< elt1>

   < elt1-1>1< elt1-1>

   < elt1-2>2< elt1-2>

   < elt1-2>3< elt1-3>

   < elt1-4>4< elt1-4>

   < elt1-5>3< elt1-5>

< elt1>

So that data in each tag is the corresponding number in the arraylist, in the same order of the data in the arraylist?

I would really appreciate any suggestion or exmaple. Thanks in advance!

Answer

Kevin Krouse picture Kevin Krouse · Jun 25, 2012

You can use the xsd2inst tool in XMLBeans to generate an xml document from a schema. If you're curious how XMLBeans does this, you can see how the xsd2inst tool is implemented:

http://svn.apache.org/viewvc/xmlbeans/trunk/src/tools/org/apache/xmlbeans/impl/xsd2inst/