如何使用 JAXB 生成 CDATA 块?
我正在使用 JAXB 将我的数据序列化为 XML。类代码很简单,如下所示。我想生成包含 CDATA 块的 XML,用于某些 Args 的值。例如,当前代码生成以下 XML:
<command>
<args>
<arg name="test_id">1234</arg>
<arg name="source"><html>EMAIL</html></arg>
</args>
</command>
我想将“源”参数包装在CDATA中,使其如下所示:
<command>
<args>
<arg name="test_id">1234</arg>
<arg name="source"><[![CDATA[<html>EMAIL</html>]]></arg>
</args>
</command>
如何在以下代码中实现此目的?
@XmlRootElement(name="command")
public class Command {
@XmlElementWrapper(name="args")
protected List<Arg> arg;
}
@XmlRootElement(name="arg")
public class Arg {
@XmlAttribute
public String name;
@XmlValue
public String value;
public Arg() {};
static Arg make(final String name, final String value) {
Arg a = new Arg();
a.name=name; a.value=value;
return a; }
}