使用 JAXB 解组一个棘手的 CDATA 元素



我想使用 JAXB 将以下内容解编到一个 'Tag' 对象中。 这就是客户端将结果传递给我的方式 -

<Tag type="a">
    <![CDATA[html text here]]>
</Tag>

请注意,CDATA 直接包装在"标记"中,该标记具有属性"类型"。

我的班级如下:

@XmlRootElement(name = "Tag")
public class Tag {
private String type;
private String tag;
public String getTag() {
    return tag;
}
@XmlCDATA
public void setTag(String tag) {
    this.tag = tag;
}
public String getType() {
    return type;
}
@XmlAttribute
public void setType(String type) {
    this.type = type;
}
}

我认为这不是正确的方法,正如预期的那样,当我解组时,Tag 对象填充了"类型",但 CDATA 值没有填充到"标签"中。

知道吗?

可以将@XmlValue注释添加到 tag 属性。

相关内容

最新更新