Java JAXB-封送单引号字符代码
我正在使用JAXB生成上传到Google提要的XML。在测试和比较这个新方法的输出与我们以前的方法(使用JSP)的输出时,我注意到单引号字符没有得到正确处理 字段内容:Java JAXB-封送单引号字符代码,java,xml,jaxb,escaping,html-entities,Java,Xml,Jaxb,Escaping,Html Entities,我正在使用JAXB生成上传到Google提要的XML。在测试和比较这个新方法的输出与我们以前的方法(使用JSP)的输出时,我注意到单引号字符没有得到正确处理 字段内容: & ' " > < 在我整理XML之前,但这最终用字符代码替换了符号,并在整理后留下了一个无用的#39 我应该在哪一点上尝试解决这个问题?在将字符串传递到JAXB类之前,我是否可以通过某种方式更改字符串来获得正确的行为,或者我是否必须做些什么来更改编组处理单引号的方式 谢谢你的阅读 编辑: 抱歉,我之前没有
& ' " > <
在我整理XML之前,但这最终用字符代码替换了符号,并在整理后留下了一个无用的#39
我应该在哪一点上尝试解决这个问题?在将字符串传递到JAXB类之前,我是否可以通过某种方式更改字符串来获得正确的行为,或者我是否必须做些什么来更改编组处理单引号的方式
谢谢你的阅读
编辑:
抱歉,我之前没有说得更清楚,谷歌的文档要求这5个字符用实体或字符代码表示
根据他们的文件:
不在CDATA节中的数据值(包括URL)必须对中列出的字符使用转义码
下表。可以使用实体代码或字符代码来表示这些特殊字符
Ampersand & & &
Single Quote ' ' '
Double Quote " " "
Greater Than > > >
Less Than < < <
Ampersand&&&
单引号“&apos'
双引号“";
大于>62;
小于<<;
如果可能的话,我希望避免使用CDATA路线。不必转义单引号。第二个输出在XML格式方面是正确的,而且更简洁,甚至更好 如果您想要细粒度地控制哪些字符被转义(以及如何转义),您可以尝试实现自己的。从未尝试过,但它被记录为JSXB RI的一个特性 另见:
字符转义句柄的提示,你能试试吗?
<title> & ' " > < </title>
'
Ampersand & & &
Single Quote ' ' '
Double Quote " " "
Greater Than > > >
Less Than < < <