什么是Jaxb等效的Text节点值?

我希望转换一个看起来像这样的类……

public class Amenity { public String id; public String value; } 

使用JaxB注释将以下XML转换为:

 value-string-here 

有谁知道在value成员变量上使用什么注释来完成此任务? 我到目前为止最接近的是:

 @XmlRootElement public class Amenity { @XmlAttribute public String id; @XmlElement public String value; } 

不幸的是,这种方法不允许我指定value成员变量不应该呈现为自己的标记

我不是100%肯定这一点,但尝试使用@XmlValue注释而不是@XmlElement

看起来这个问题是指文本节点而不是CDATA节点,但这里有一个关于EclipseLink JAXB(MOXy)如何处理CDATA的链接:

本文档写道:

问:如何让Marshaller生成CDATA块?

答:此function不能直接从JAXB获得,但您可以配置Apache Xerces-J XMLSerializer来生成CDATA块。 有关更多详细信息,请查看JaxbCDATASample.java示例应用程序。

(顺便说一句,这不能回答你的特定问题,但由于问题标题具有误导性,这是jaxb CDATA的第一个google结果,我回答的是一个不同的问题)

JAXB不支持对CDATA xml类型进行封送处理/封送处理。