我的问题是:从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 –