如何显示'&'通过Jaxb2Marshaller生成的XML内部

时间:2016-01-06 17:35:49

标签: xml spring

有人可以指导我使用带有特殊字符的Jaxb2Marshaller生成XML,例如'&&#;;'<&#;;'>'?我在StackOverflow上有一些指针要在spring配置文件中使用下面的代码段,但是同样的功能并没有成功。我继续收到'& amp;'& lt''& gt'分别。任何指针都会非常有用。

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="marshallerProperties">
    <map>
        <entry key="jaxb.encoding">
            <value>UTF-8</value>
        </entry>
    </map>

1 个答案:

答案 0 :(得分:0)

&安培;&LT;&GT;可能不会出现在有效的XML中。它们必须更改为命名实体(&amp;&lt;&gt;)或存在于CDATA块内。您提供的样本

<name> Test & Value </name>

不是有效的XML! 它必须是

<name> Test &amp; Value </name>
or
<name><![CDATA[Test & Value]]</name>

这个答案https://stackoverflow.com/a/4438368/1849837表明您可以使用EclipseLink JAXB(MOXy)。它有注释@XmlCDATA,您可以将其添加到元素中。