Annotation Type XmlCDATA


  • @Target({FIELD,METHOD})
    @Retention(RUNTIME)
    public @interface XmlCDATA

    Wrap the value inside a CDATA section. Normally JAXB will escape certain characters in a string during a marshal operation:

    • & (as &)
    • < (as &lt;)
    • " (as &quot;)
    This means a property foo with string value "1 < 2" without @XmlCDATA will be marshalled as <foo>1 &lt; 2</foo>. When @XmlCDATA is used the content is marshalled as <foo><![CDATA[1 < 2]]></foo>.

    Example

     import javax.xml.bind.annotation.XmlRootElement;
     import org.eclipse.persistence.oxm.annotations.XmlCDATA;
    
     @XmlRootElement()
     public class Root {
         private String foo;
    
         @XmlCDATA
         public String getFoo() {
             return foo;
         }
    
         public void setFoo(String foo) {
             this.foo = foo;
         }
     }