JAXB中的XML字符串

时间:2010-06-03 07:14:39

标签: java jaxb jersey

我有一个模仿表的JPA实体类。像这样:

@XmlType(name="MyClassElementType")
public class MyClass {
    String name;
    String xmlDesc;

    public MyClass() {}

    @XmlElement
    String getName() { return name; }
    void setName(String name) { this.name = name; }

    @XmlElement
    String getXmlDesc() { return xmlDesc; }
    void setXmlDesc(String xmlDesc) { this.xmlDesc = xmlDesc; }
}

在Jersey REST接听电话中,我试图返回此课程:

@Get
@Produces("application/xml")
public MyClass get() {

    return myClass;
}

现在我希望按原样返回已经存在的xml字符串(xmlStr),但Jersey / JAXB会将其转义...

所以无论如何?

1 个答案:

答案 0 :(得分:3)

JAXB无法知道xmlDesc包含XML字符串,它可以是任何内容,因此它来逃避它。

如果要在JAXB对象模型中存储任意XML,则需要将其存储为org.w3c.dom.Element的实例。然后,JAXB应根据需要将其转换为XML或从XML转换。