【问题标题】:Can JAX-B include an XML-valued attribute verbatim?JAX-B 可以逐字包含 XML 值属性吗?
【发布时间】:2011-07-07 21:29:47
【问题描述】:

我有一个对象,它是 Web 服务方法的返回值。它的一个属性包含一个 XML 文档。理想情况下,我希望 JAX-B 在 Web 服务响应中逐字包含该 XML 文档,而不是转义所有内容或必须解组它以允许 Web 服务映射立即再次编组它。

这可以通过注释或自定义绑定定义来完成吗?

编辑: 我想要这样做的原因是 XML 文档是从 Oracle DB(列类型 XmlType)中检索的,我通常希望避免在将其发送到 Web 服务客户端时进行不必要的解析/格式化步骤。

【问题讨论】:

    标签: xml jaxb jax-ws


    【解决方案1】:

    我认为您必须首先将 XML 字符串转换为 org.w3c.dom.Element 对象,将其添加到您的模型中,然后使用 @XmlAnyElement 对其进行注释。然后,JAXB 会将其序列化为逐字 XML(不支持模式验证)。

    【讨论】:

    • 想要这样做的原因是该属性是通过 JPA 从 Oracle XmlType 列中检索的。有没有办法让 JPA 直接从这样的列转换为 org.w3c.dom.Element 类型的属性?
    • @Michael:我不知道,不。如何在模型中的方法内部进行 String 到 DOM 的转换,并注释方法而不是字段?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 2011-01-07
    • 2022-07-06
    • 2021-12-11
    • 2011-01-17
    • 1970-01-01
    相关资源
    最近更新 更多