11

I have many xml files and I would like to use XStream to manage them. Is it possible to generate java classes corresponding to my xml files using XStream?

tshepang
  • 12,111
  • 21
  • 91
  • 136
Ulisse
  • 483
  • 1
  • 7
  • 14

3 Answers3

6

XStream is a software to serialize and deserialize a Java Object to and from XML. XStream uses Reflection for this. The class of the objects involved has to exist beforehand.

JAXB is a binding framework, which too does serialization and deserialization. JAXB has annotations to do this work. Bundled with the framework come tools to generate classes (complete with the already mentioned annotations) from an xsd (<-- declaration that describes how a specific xml document is structured).

So you can choose what fits your needs best. Defining classes on your own and use XStream or use JAXB (or other binding frameworks...) and the bundled tools to generate classes. Each variant has advantages and disadvantages... XStream is more flexible but JAXB more strict. JAXB brings additional tools, XStream is more like a tool itself...

dertoni
  • 1,763
  • 2
  • 24
  • 47
4

I think it's not possible using XStream but I've already done it using JAXB.

Basically, the steps are generating a xsd from the xml files and then generating the Java classes from the xsd.

Have a look at this tutorial:

http://theopentutorials.com/examples/java/jaxb/generate-java-class-from-xml-schema-using-jaxb-xjc-command/

aymeric
  • 3,877
  • 2
  • 28
  • 42
0

yes.I think its possible, java class for xml file using XStream.Refer this and here

This for xml file.

Ami
  • 4,241
  • 6
  • 41
  • 75
  • Ok, but, referring to the link "this" you provided: I would like to generate the class contained in "Listing 3", starting from file "employeedata.txt" of the example. I want to generate the Java class given the xml file. Thank you. – Ulisse Sep 17 '12 at 06:59
  • ya.Xstream applicable for both txt and xml file.refer this for xml file.http://www.xml.com/pub/a/2004/08/18/xstream.html. – Ami Sep 17 '12 at 07:21