对于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中与a
和b
中的C
处于同一级别(从xml恢复的bean应该是这样的:
class C{
private int a;
private int b;
private int t1
}
(客户端代码仅对结构t1
中的字段T
感兴趣)。
感谢。
答案 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
}
}
}