我如何设置Jaxb XMLelement的值?

时间:2012-08-30 10:23:29

标签: jaxb

我的问题是:来自xml计划:

<topnode>
    topNodeValue
   <bottomnode/> 
</topnode>

使用Jaxb生成的类看起来像

class topnode {
    List<bottomnode> bottomnodeList;
}

这不会生成值字段来设置topnode的值。

我怎样才能实现这一目标?感谢。

2 个答案:

答案 0 :(得分:3)

当元素的内容包含字符和元素数据时,它被称为混合内容。在JAXB (JSR-222)中,它与@XmlMixed注释一起映射,如:

class topnode {
    @XmlMixed
    String text;

    List<bottomnode> bottomnodeList;
}

混合内容的使用可能很棘手,因为由于用于格式化的文本节点,您可能会得到意外的结果。有关更详细的说明,请参阅以下类似问题的答案。

答案 1 :(得分:0)

对于文本节点,请使用@XmlValue注释。像这样:

class topnode {

    @XmlValue
    String topNodeValue;

    List<bottomnode> bottomnodeList;

}

作为建议,请尝试尊重Java命名标准,如果它与xml元素不匹配,请使用name注释的@Xml...属性。