XStream生成CDATA标签

    使用xstream生成cdata标签,在网上搜索的资料大都是使用注解的方式进行处理,实现比较复杂,这里提供了一种更简单更直接的方式进行实现

Model类:

public class FormLink {

private String name = "";

@XStreamCDATA

private String link = "";

......get,set方法.....

public void setLink(String link) {

this.link = "<![CDATA["+link+"]]>";

}

}

需要使用cdata标签的属性的值用"<![CDATA[""]]>"拼起来。

new XStream(new XppDriver() {

public HierarchicalStreamWriter createWriter(Writer out) {

return new PrettyPrintWriter(out) {

protected void writeText(QuickWriter writer, String text) {

if (text.startsWith(PREFIX_CDATA)

&& text.endsWith(SUFFIX_CDATA)) {

writer.write(text);

} else {

super.writeText(writer, text);

} } }; }; });

然后判断值的开始和结束,就OK

你可能感兴趣的:(XStream生成CDATA标签)