2010-06-03 59 views
1

我有一个模仿表的JPA实体类。事情是这样的:JAXB中的XML字符串

@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; } 
} 

在新泽西州的REST调用得到我想要返回这个类:

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

    return myClass; 
} 

现在我期待已XML字符串(xmlStr)如要返回,但泽西岛/ JAXB逃脱它...

所以无论如何围绕这?

回答

3

JAXB无法知道xmlDesc包含一个XML字符串,它可能是任何东西,所以它转义它。

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

+0

这么想......谢谢你回答。让我去尝试一下... – OOO 2010-06-07 07:28:16

+2

@OOO:你需要使用'@ XmlAnyElement'而不是'@ XmlElement' – skaffman 2010-06-07 08:29:14