我的問題是:從xml
方案:如何設置Jaxb XML元素的值?
<topnode>
topNodeValue
<bottomnode/>
</topnode>
與JAXB生成的類看起來像
class topnode {
List<bottomnode> bottomnodeList;
}
不產生值字段爲topnode設定值。
我該如何實現這個目標?謝謝。
我的問題是:從xml
方案:如何設置Jaxb XML元素的值?
<topnode>
topNodeValue
<bottomnode/>
</topnode>
與JAXB生成的類看起來像
class topnode {
List<bottomnode> bottomnodeList;
}
不產生值字段爲topnode設定值。
我該如何實現這個目標?謝謝。
當一個元素的內容包含字符和元素數據時,它被稱爲混合內容。在此JAXB (JSR-222)映射與@XmlMixed
註釋,如:
class topnode {
@XmlMixed
String text;
List<bottomnode> bottomnodeList;
}
使用的混合內容可能會非常棘手,因爲你可能會由於用於格式化文本節點意想不到的效果。有關更詳細的解釋,請參閱以下對類似問題的回答。
對於文本節點,使用@XmlValue
註解。事情是這樣的:
class topnode {
@XmlValue
String topNodeValue;
List<bottomnode> bottomnodeList;
}
作爲一個建議,儘量尊重Java命名標準,如果不符合XML元素使用@Xml...
註釋的name
屬性。
因爲'bottomnodeList'屬性映射到XML元素,所以如果您嘗試使用「@ XmlElement」,您將會遇到異常。 OP正試圖映射混合內容,所以應該使用'@ XmlMixed'來代替'@ XmlValue'。以下應該有所幫助:http://stackoverflow.com/a/11099303/383861 –
@BlaiseDoughan謝謝!我不知道'@ XmlMixed',因爲我從不需要它。我想你應該把這個評論作爲答案,你一定會從我這裏得到一個。 – tibtof
完成:http://stackoverflow.com/a/12195420/383861 –