首页 文章

没有任何配置的JAXB编组/解组

提问于
浏览
2

我正在尝试通过JAXB编组/解组Java ValueObject类 .

为此,我发现它需要可以由ant自动创建的XML Schema文件和ObjectFactory类 .

如果是这样,它似乎能够在没有XML Schema文件和ObjectFactory的情况下进行编组/解组,因为它们可以自动创建 .

但只要我研究过,JAXB就不会提供方法了 .

你知道怎么办?

3 回答

  • 0

    我不是JAXB的专家,但你可以创建这个构造函数的unmarshaller:

    编辑 - 抱歉错误代码xD

    JAXBContext jaxbContext = JAXBContext.newInstance(Class1.class, Class2.class, ...);
    Marshaller marshaller = jaxbContext.createMarshaller();
    

    在这个问题

    Use JAXB unmarshalling in Weblogic Server

    您可以看到我在XML的unmarshall中使用weblogic JAX-RPC自动生成的类 . 没有ObjectFactory,这对我有用......没有属性 . 我认为JAXB使用反射来做到这一点 . 尝试使用此构造函数取消编组 . 如果它不是解决方案,请使用注释(请遵循Blaise链接)如果无法修改ValueObject类,请在组合中思考 .

  • 2

    JAXB不需要架构,它旨在从Java对象开始 . 然后添加注释以自定义到XML的映射 . 以下是一些有用的入门示例:

    查看我的博客,了解更多以Java对象开头的JAXB示例:

  • 0

    在我看来,你的理解是部分正确的 . 如果您从Java ValueObject类开始,那么就不需要架构......您可以参考Blaise指出的示例 . 但有时,ValueObject类不会给你 . 而是给出了一个xml架构定义 . 所以使用ANT就像你说的那样....你可以从xml架构生成ValueObject类 .

    所以要迭代,在你的情况下,因为你已经有了ValueObject,所以不需要架构

相关问题