My recommendations:
1) I prefer using JAXB instead of XStream.

2) Modify your route so they looks like:
JaxbDataFormat jaxb = new JaxbDataFormat("com.mycompany...");
from("")
  .unmarshall().csv()
  .convertBodyTo(List.class) // see [1]
  .marshal(jaxb)
  .to("");

[1] http://camel.apache.org/type-converter.html

Best,
Christian

On Wed, May 16, 2012 at 9:55 PM, ambarish.d <d.ambar...@gmail.com> wrote:

> Hello,
>
> I want to convert a CSV file to XML file in proper format. I have following
> code which is doing the Job but output is not a expected one.
>
>  context.addRoutes(new RouteBuilder() {
>                    public void configure() {
>
>  from("file://TEST?fileName=ArticleDistribution.csv").
>                        unmarshal().
>                        csv().
>                        marshal().
>                        xstream().
>
>  to("file://TESTOUT?fileName=ArticleDistribution.XML");
>                    }
>                });
>
> For Example:
> My CSV File looks like this:
>
> Name, Age, Sex, Zip
> Edward, 22,M,33639
> Ema,27,F,30330
>
> Output of Above code is:
>
> <list>
>  <java.util.Arrays_-ArrayList>
>
>      <string>Name</string>
>      <string>Age</string>
>      <string>Sex</string>
>      <string>Zip</string>
>
>  </java.util.Arrays_-ArrayList>
> <java.util.Arrays_-ArrayList>
>
>      <string>Edward</string>
>      <string> 22</string>
>      <string>M</string>
>      <string>33639</string>
>
>  </java.util.Arrays_-ArrayList>
> ..
> </List>
>
> But Output I want is
>
> <List>
> <data>
> <Name>Edward</Name>
> <Age>22</Age>
> <Sex>M</Sex>
> <Zip>33639</Zip>
> </data>
> <data>
> ....
> </data>
> </List>
>
> Can anybody please help me and show the proper way of doing this. It will
> be
> a great help.
>
> thanks
> Amby
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Converting-CSV-to-XML-tp5711086.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Reply via email to