2

コードを変更せずに、いくつかのクラス フィールドをグループ化しようとしています。新しいクラスを作成して、そのクラス名でグループ化できることはわかっていますが、そうしたくありません。

私はこれを持っています:

<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をチェックし ましたが、何も見つかりませんでした。何か助けはありますか?

4

1 に答える 1

1

これは JAXB によってすぐにサポートされるわけではありませんが、EclipseLink-Moxy実装はXmlPathカスタム アノテーションの使用をサポートします。このチュートリアルの「MOXy を使用してグループ化要素を追加する」セクションを参照してください。以下はあなたの要件のサンプルです

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

  @XmlPath("c/b")
  String b;
}
于 2012-08-18T00:38:03.990 に答える