2

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

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

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

但只要我研究过,不知何故 JAXB 并没有提供方法。

你知道有什么办法吗?

4

3 回答 3

2

JAXB 不需要模式,它被设计为从 Java 对象开始。然后添加注释以自定义到 XML 的映射。以下是一些有用的入门示例:

查看我的博客以获取更多以 Java 对象开头的 JAXB 示例:

于 2010-12-22T12:47:01.110 回答
0

在我看来,你的理解是部分正确的。如果你是从Java ValueObject 类开始,那么就不需要schema……你可以参考Blaise 所指的例子。但有时,ValueObject 类并没有提供给您。而是给出了一个 xml 模式定义。因此,如您所说,使用 ANT....您可以从 xml 模式生成 ValueObject 类。

因此,在您的情况下进行迭代,因为您已经拥有 ValueObject,因此不需要架构

于 2010-12-24T02:15:05.667 回答
0

我不是 JAXB 专家,但您可以使用此构造函数创建解组器:

编辑-对不起错误的代码xD

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

在这个问题

在 Weblogic Server 中使用 JAXB 解组

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

于 2010-12-24T10:13:54.470 回答