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

时间:2012-09-26 20:51:23

标签: jaxb xml-serialization jaxb2 unmarshalling

我想使用JAXB将以下内容解组为“Tag”对象。这就是客户将结果传递给我的方式 -

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

请注意,CDATA直接包含在“Tag”中,该“Tag”具有属性“type”。

我的课程如下:

@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对象填充了'type',但CDATA值没有填充到'tag'。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以将@XmlValue注释添加到代码属性。