camel Java to xml_java – camel route:将xml读入pojo并将其写回xml文件

我现在讨厌了一段时间,但由于很多配置文件都在xml中,所以很难找到我的问题的一些答案.

我想做什么?

使用caml路由我想读取xml文件并将其放入POJO.在这里,我想分析一下.最后,我想写一个不同的xml文件(POJO)作为out文件夹的答案.

我的问题是,我不知道如何告诉camel将xml文件体解析为我的POJO.

我所做的一个简短的例子,直到知道:

我的骆驼路线:

from("file:data/in")

.marshal().xstream()

.bean(XmlToBeanAndBackBean.class)

.unmarshal().xstream()

.to("file:data/out");

我的POJO:

@XmlRootElement

@XmlAccessorType(XmlAccessType.FIELD)

public class XmlFilePojo {

@XmlAnyAttribute

private String name;

@XmlElement(name = "the_age")

private int theAge;

public void setName(String name) {

this.name = name;

}

}

我的豌豆用于骆驼路线:

@Component

public class XmlToBeanAndBackBean {

public XmlFilePojo transformXmlObject(XmlFilePojo xmlFilePojo){

XmlFilePojo returnPojo = xmlFilePojo;

returnPojo.setName("merkur");

return returnPojo;

}

}

我认为我的错误是在camel路由中,它将xml文件转换为XmlFilePojo对象.

当我尝试运行它时,我收到以下错误:

引起:org.apache.camel.InvalidPayloadException:没有可用的类型:XmlFilePojo,但有值:[B @ 659392cd类型:byte [] on:simple.xml.引起:没有类型转换器可以从类型:byte []转换为所需类型:XmlFilePojo,其值为[B @ 659392cd.交换[simple.xml.引起:[org.apache.camel.NoTypeConversionAvailableException – 没有类型转换器可用于从类型:byte []转换为所需类型:XmlFilePojo,其值为[B @ 659392cd]

由于我的文件中没有byte [],我不知道如何处理它.

希望有人有答案.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值