首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >camel路由:将xml读入pojo,并将其写回xml文件

camel路由:将xml读入pojo,并将其写回xml文件
EN

Stack Overflow用户
提问于 2015-05-08 19:01:34
回答 2查看 13.9K关注 0票数 4

我已经登录了一段时间,但是因为很多配置文件都是xml格式的,所以很难找到我的问题的答案。

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

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

下面是我之前所做的一个简短的例子:

我的骆驼路线:

代码语言:javascript
运行
复制
from("file:data/in")
                    .marshal().xstream()
                    .bean(XmlToBeanAndBackBean.class)
                    .unmarshal().xstream()
                    .to("file:data/out");

我的POJO:

代码语言:javascript
运行
复制
@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;
     }
}

以及在驼峰路由中使用的my Bean:

代码语言:javascript
运行
复制
@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 ]。Exchangesimple.xml。原因:[org.apache.camel.NoTypeConversionAvailableException -没有可用于从类型: byte[]转换为所需类型的类型转换器: XmlFilePojo,值为B@659392cd

因为我的文件中没有byte[],所以我不知道如何处理这个问题。希望有人能给出答案。

EN

Stack Overflow用户

发布于 2015-05-08 19:14:31

当您在pojo上使用camel-jaxb注释时,只需将JAXB添加到类路径中,它就可以自动执行xml转换。只需使用POJO编写bean代码即可。

那么路线就很简单了

代码语言:javascript
运行
复制
from("file:data/in")
    .bean(XmlToBeanAndBackBean.class)
    .to("file:data/out");

  • http://camel.apache.org/jaxb
票数 7
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30122184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档