我有一個叫做Ability的類,它繼承自抽象類CampaignObject
。JAXB marshals「non-field」
CampaignObject
有一個抽象方法,稱爲getInfo()
。
能力沒有自己的信息。如果要求他們提供信息,則應提供其所有者的信息。
當我使用JAXB.marshal(...)
編組時,它包含所有者信息文本,作爲每種能力的XmlElement
。註釋Ability.getInfo()
與@XmlTransient
沒有區別。
我該怎麼辦?
非常感謝。
這樣的代碼:
@XmlRootElement(name = "ability")
public class Ability extends CampaignObject {
private String val;
private Hero owner;
...
@Override
@XmlTransient
public String getInfo() {
return getOwner().getInfo();
}
@XmlAttribute
public String getVal() {
return val;
}
@XmlTransient
public Hero getOwner() {
return owner;
}
沒有幫助。反過來也沒有:'XmlAccessType.FIELD' –
更改了我的另一個想法的答案。 –