JAXB - 具有XML字符串属性的marshal对象

时间:2009-12-24 15:08:46

标签: xml jaxb

假设我有一个String属性具有XML字符串的对象。 像:

class myObject {
    String xml;

    @XmlElement(name = "xml", type = String.class)
    public String getXml() {
        return xml;
    }

    public void setXml(String xml) {
        this.xml = xml;
    }
}

我为此属性设置了一个XML String - 例如

 myObject.setXml("<xml>bbb</xml>");

现在我想用JAXB封送它,我得到:

<xml>&lt;xml&gt;bbb&lt;/xml&gt;</xml>

我想去哪里

<xml>bbb</xml>

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以使用@XmlAnyElement。但是,首先需要将XML字符串转换为DOM结构,然后将其注入模型,而不是原始XML字符串。

答案 1 :(得分:0)

如果要输出预先构造的XML(不仅仅是xml序列化为字符串,这是JAXB正确提供给你的),你最好将它输入DOM Element。 否则,JAXB无法强制XML生成器在没有正确转义的情况下转储随机文本。

你在哪里获得XML?如果它是DOM的东西,这应该相对容易。