我想将XML内容作为String绑定到字段中。 这是我的xml的样子:
<sample>
<content>
<p>here is content <b>with bold</b></p>
</content>
</sample>
应绑定到以下域对象:
@Entity
@Table(name="news_table")
@XmlRootElement
class Sample {
@XmlElement(name="content")
@Column(name="news_content")
private String content;
}
解组之后,我想将内容以<p>
作为字符串类型绑定,以便使用HTML标记保留带格式的文本,以便:
System.out.println(sample.getContent());
必须提供以下内容:
> "<p>here is content <b>with bold</b></p>"
使用@XmlElement注释我只从绑定操作返回空字符串“”,因为JAXB根据我的理解识别元素以“<p>
”作为Object绑定。
有什么建议吗?
答案 0 :(得分:2)
尝试将@XmlAnyElement
注释与自定义DomHandler
一起使用。您可以找到示例here。
答案 1 :(得分:2)
如果是更改xml文件内容的选项,则可以转义<
和>
。然后JAXB处理它就好了,你在java中调用getContent()
时也得到了正确的html字符串。
以下是包含转义内容的xml文件:
<sample>
<content><p>here is content <b>with bold</b></p></content>
</sample>