JAXB和CData无法控制生成的源

时间:2017-07-17 08:40:24

标签: java xml jaxb marshalling cdata

我有一个使用第三方库的项目,包括生成的JAXB Java对象(我没有源代码控制)

我发现此模型中的一个元素需要<![CDATA个blob。有没有办法让Jaxb marshaller意识到这一点,而不是逃避那个特定领域的输出?

XML模型如下:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
    name = "MyComplexType",
    propOrder = {"val1", "cdataval"}
)
public class MyComplexType {
    @XmlElement(
        name = "val1",
        required = true
    )
    protected String val1;

    protected String cdataval;

    public MyComplexType() {
    }

    ... getter and setters...
}

因此,正如我之前提到的,将CData添加到cdataval会使JaxB marshaller逃避导致无效CData内容的内容。

如何在不修改生成的源的情况下使编组器不会逃避内容?只在该字段上添加一个特殊的XmlAdapter会很容易,但是不能这样做。

此致

0 个答案:

没有答案