我收到以下错误:
If a class has @XmlElement property, it cannot have @XmlValue property
Run Code Online (Sandbox Code Playgroud)
更新课程:
@XmlType(propOrder={"currencyCode", "amount"})
@XmlRootElement(name="priceInclVat")
@XmlAccessorType(XmlAccessType.FIELD)
public class PriceInclVatInfo {
@XmlAttribute
private String currency;
@XmlValue
private String currencyCode;
private double amount;
public PriceInclVatInfo() {}
public PriceInclVatInfo(String currency, String currencyCode, double amount) {
this.currency = currency;
this.currencyCode = currencyCode;
this.amount = amount;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public String getCurrencyCode() {
return currencyCode;
}
public void setCurrencyCode(String currencyCode) {
this.currencyCode = currencyCode;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
}
Run Code Online (Sandbox Code Playgroud)
我想通过元素属性和值来获得以下输出:
<currencyCode plaintext="£">GBP</currencyCode>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?如果我有@XmlRootElement(name ="priceInclVat")可以吗?
bdo*_*han 13
对于错误:
如果类具有@XmlElement属性,则它不能具有@XmlValue属性
由于您已指定了字段访问权限,因此默认情况下,未注释的amount字段将被视为具有@XmlElement.
private double amount;
Run Code Online (Sandbox Code Playgroud)
您可以执行以下操作之一:
amount与@XmlAttributeamount用@XmlTransient.注释.@XmlAccessorType(XmlAccessType.FIELD)为@XmlAccessorType(XmlAccessType.NONE)仅将带注释的字段视为已映射.我怎样才能做到这一点?如果我有@XmlRootElement(name ="priceInclVat")可以吗?
你可以用实例PriceInclVatInfo中的实例JAXBElement来覆盖在根元素和封送.
| 归档时间: |
|
| 查看次数: |
4876 次 |
| 最近记录: |