2

我的问题是:从xml计划中:

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

用 Jaxb 生成的类看起来像

class topnode {
    List<bottomnode> bottomnodeList;
}

它不会生成 value 字段来为 topnode 设置值。

我怎样才能做到这一点?谢谢。

4

2 回答 2

3

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

class topnode {
    @XmlMixed
    String text;

    List<bottomnode> bottomnodeList;
}

混合内容的使用可能会很棘手,因为您可能会因为用于格式化的文本节点而得到意想不到的结果。有关更详细的解释,请参阅以下对类似问题的回答。

于 2012-08-30T11:02:40.873 回答
0

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

class topnode {

    @XmlValue
    String topNodeValue;

    List<bottomnode> bottomnodeList;

}

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

于 2012-08-30T13:10:36.377 回答