是否有一个XML注释我可以用来在一个公共元素下将类属性组合在一起?

时间:2012-08-18 00:17:00

标签: java jaxb

我尝试将几个类字段组合在一起而不修改任何代码。 我意识到我可以创建一个新的课程,然后根据该课程名称对它们进行分组,但我不想这样做。

我有这个:

<root>
  <a>1</a>
  <b>2</b>
</root>

我想要这个

<root>
  <c>
    <a>1</a>
    <b>2</b>
  </c>
</root>

但我希望通过注释,而不是类重组。

我在这里查了一下 http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/package-summary.html 但没找到任何东西。 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

JAXB不支持此功能,但EclipseLink-Moxy实现支持使用XmlPath自定义注释。查看this tutorial中的使用MOXy添加分组元素部分。以下是您的要求的样本

@XmlRootElement(name="root")
@XmlAccessorType(XmlAccessType.FIELD)
class MyClass
{
  @XmlPath("c/a")
  String a;

  @XmlPath("c/b")
  String b;
}