如何设置Jaxb XMLelement的值?
我的问题是:从如何设置Jaxb XMLelement的值?,jaxb,Jaxb,我的问题是:从xml方案: <topnode> topNodeValue <bottomnode/> </topnode> topNodeValue 使用Jaxb生成的类如下所示 class topnode { List<bottomnode> bottomnodeList; } 类topnode{ 列出节点列表; } 它不会生成值字段来设置topnode的值 我怎样才能做到这一点?谢谢。当元素的内容同时包含字符和
xml
方案:
<topnode>
topNodeValue
<bottomnode/>
</topnode>
topNodeValue
使用Jaxb生成的类如下所示
class topnode {
List<bottomnode> bottomnodeList;
}
类topnode{
列出节点列表;
}
它不会生成值字段来设置topnode的值
我怎样才能做到这一点?谢谢。当元素的内容同时包含字符和元素数据时,称为混合内容。在这种情况下,将使用
@XmlMixed
注释进行映射,如:
class topnode {
@XmlMixed
String text;
List<bottomnode> bottomnodeList;
}
类topnode{
@混合
字符串文本;
列出节点列表;
}
混合内容的使用可能很棘手,因为用于格式化的文本节点可能会导致意外结果。有关更详细的解释,请参见以下对类似问题的回答
@XmlValue
注释。大概是这样的:
class topnode {
@XmlValue
String topNodeValue;
List<bottomnode> bottomnodeList;
}
类topnode{
@XmlValue
字符串topNodeValue;
列出节点列表;
}
作为建议,请尽量遵守java命名标准,如果它与xml元素不匹配,请使用
@xml…
注释的name
属性。由于bottomnodeList
属性映射到xml元素,如果尝试改用@XmlElement
,则会出现异常。OP正在尝试映射混合内容,因此应使用@XmlMixed
而不是@XmlValue
。以下内容应该会有所帮助:@BlaiseDoughan谢谢!我不知道@XmlMixed
,因为我从来不需要它。我想你应该把这个评论作为答案,你肯定会得到我的支持。