Estoy usando JAXB para serializar mis datos a XML. El código de clase es simple como se indica a continuación. Quiero producir XML que contenga bloques CDATA por el valor de algunos Args. Por ejemplo, el código de corriente produce este XML:¿Cómo se genera el bloque CDATA con JAXB?
<command>
<args>
<arg name="test_id">1234</arg>
<arg name="source"><html>EMAIL</html></arg>
</args>
</command>
quiero envolver el arg "fuente" en CDATA tal que parece que a continuación:
<command>
<args>
<arg name="test_id">1234</arg>
<arg name="source"><[![CDATA[<html>EMAIL</html>]]></arg>
</args>
</command>
¿Cómo puedo lograr esto en el código de abajo ?
@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; }
}
¿Se puede encontrar ninguna solución a este problema? Si es así, por favor comparte, gracias. – Javatar