简体   繁体   English

如何在通过Jaxb2Marshaller生成的XML中显示'&'

[英]How to display '&' inside XML generated via Jaxb2Marshaller

Can someone guide me to generate XML using Jaxb2Marshaller with special characters eg '&', '<', '>'? 有人可以指导我使用带有特殊字符(例如'&',<<,'>')的Jaxb2Marshaller生成XML吗? I have got a few pointers on StackOverflow to use below snippet in spring config file, but the same doesnt work out & I continue to receive '&amp', '&lt', '&gt' respectively. 我在Spring配置文件中的片段下面使用了StackOverflow上的一些指针,但是同样没有解决,我继续分别收到'&amp','&lt','&gt'。 Any pointers will be really helpful. 任何指针将非常有帮助。

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

&<> may not appear inside valid XML. &<>可能不会出现在有效的XML内。 they must be either changed to named entities (&<>) or present inside CDATA block. 它们必须更改为命名实体(&<>)或存在于CDATA块中。 Sample you provided 您提供的样本

<name> Test & Value </name>

Is not valid XML! 无效的XML! It must be either 它必须是

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

This answers https://stackoverflow.com/a/4438368/1849837 shows that you could use EclipseLink JAXB (MOXy). 答案https://stackoverflow.com/a/4438368/1849837显示您可以使用EclipseLink JAXB(MOXy)。 It has annotation @XmlCDATA, that you could add to your element. 它具有注释@XmlCDATA,您可以将其添加到元素中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM