相关疑难解决方法(0)

如何使用JAXB生成CDATA块?

我正在使用JAXB将我的数据序列化为XML.类代码很简单,如下所示.我想生成包含CDATA块的XML,用于某些Args的值.例如,当前代码生成此XML:

<command>
   <args>
      <arg name="test_id">1234</arg>
      <arg name="source">&lt;html>EMAIL&lt;/html></arg>
   </args>
</command>
Run Code Online (Sandbox Code Playgroud)

我想在CDATA中包装"source"arg,使其如下所示:

<command>
   <args>
      <arg name="test_id">1234</arg>
      <arg name="source"><[![CDATA[<html>EMAIL</html>]]></arg>
   </args>
</command>
Run Code Online (Sandbox Code Playgroud)

我怎样才能在下面的代码中实现这一点?

@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; }
    }
Run Code Online (Sandbox Code Playgroud)

java xml jaxb cdata

40
推荐指数
7
解决办法
7万
查看次数

标签 统计

cdata ×1

java ×1

jaxb ×1

xml ×1