如何设置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
,因为我从来不需要它。我想你应该把这个评论作为答案,你肯定会得到我的支持。