java - JAXB 中的 XML 字符串

标签 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 将它转义了......

所以不管怎样?

最佳答案

JAXB 无法知道 xmlDesc 包含一个 XML 字符串,它可以是任何东西,所以它必须对其进行转义。

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

关于java - JAXB 中的 XML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2963945/

相关文章:

javax.xml.bind.DatatypeConverter 泄漏类加载器?

java - 强制发送客户端证书

java - Jackson 中用于数组反序列化的泛型

java - 使用 Spring WS 发布静态 WSDL 和相关的 XSD 模式

java - 让xjc生成成员变量名与元素名完全相同的类

java - 我想在 SOAP 体元素中传递我的自定义对象,该怎么做?

java - Jersey 将 "application.wadl"文件存储在哪里?

java - Jersey/Jaxb 返回字符串列表而不是整数

java - JVM 有问题的框架 - EXCEPTION_ACCESS_VIOLATION 错误

java - 用于查找 [[ ]] 和 {{}} 之间的字符串的正则表达式