Bean-To-XML注释:如何处理嵌套结构

时间:2010-02-11 08:22:54

标签: java xml jaxb cxf aegis

对于web服务中的bean-> xml转换,我们使用来自CXF的Aegis(根据我的理解,它与jaxb兼容)。

这是我的类型:

class C{
private int a;
private int b;
private T t;
...
}

class T{
private int t1;
private int t2;
}

我需要t.t1字段在XML中与ab中的C处于同一级别(从xml恢复的bean应该是这样的:

class C{ 
private int a; 
private int b;
private int t1 
}

(客户端代码仅对结构t1中的字段T感兴趣)。 感谢。

1 个答案:

答案 0 :(得分:1)

您可以将getT1()setT1(int)添加到C并制作getT() @XmlTransient

class C {
  // snip

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  @XmlElement
  private void setT1(int t1) {
    if(t != null) {
      t.setT1(t1);
    } else {
      // TODO
    }
  }

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  private int getT1() {
    if(t != null) {
      return t.getT1(t1);
    } else {
      // TODO
    }
  }
}