我感兴趣的是没有编组/解组我的A对象的主要字段。我在不同的地方添加了XmlTransient
,但它似乎仍在编组。
有什么想法吗?
这是A类:
@XmlRootElement(name = "A")
public class AImpl implements A, Serializable {
private String attrName;
private String attrValue;
@XmlTransient
private Object principal;
public class Adapter extends XmlAdapter<AImpl,A> {
public A unmarshal(AImpl v) { return v; }
public AImpl marshal(A v) { return (AImpl)v; }
}
public String getAttrName() {
return attrName;
}
public void setAttrName(String s) {
this.attrName = s;
}
public String getAttrValue() {
return attrValue;
}
public void setAttrValue(String s) {
this.attrValue = s;
}
@XmlTransient
public Object getPrincipal() {
return principal;
}
@XmlTransient
public void setPrincipal(Object o) {
this.principal = o;
}
}
以下是我如何编组:
JAXBContext context = JAXBContext.newInstance(AImpl.class);
Marshaller m = context.createMarshaller();
m.setProperty(javax.xml.bind.Marshaller.JAXB_FRAGMENT,true);
m.marshal(al sw);)
答案 0 :(得分:1)
尝试在课堂上指定@XmlAccessType(XmlAccessType.FIELD)