我正在使用 JAXB 2.2.5 从 JAXB 模型输出 Xml,数据是从数据库中填充的,有时数据库包含不应该显示的不可显示字符,例如
0x1a
如果是这样,那么 JAXB 通过按原样输出这个字符来输出无效的 Xml,它不应该转义它还是什么?
更新
我想知道是否有任何实现可以解决这个问题,也许 Eclipselink MOXy 可以?
编辑
我尝试了解决非法字符问题的解决方法,但是它以一种不受欢迎的方式改变了输出。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata created="2013-02-27T11:40:04.009Z" xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0"><cdstub-list count="1" offset="0"><cdstub id="w237dKURKperVfmckD5b_xo8BO8-" ext:score="100"><title>fred</title><artist></artist><track-list count="5"/></cdstub></cdstub-list></metadata>
到
<?xml version="1.0" ?><metadata xmlns:ext="http://musicbrainz.org/ns/ext#-2.0" xmlns="http://musicbrainz.org/ns/mmd-2.0#" created="2013-02-27T11:39:15.394Z"><cdstub-list count="1" offset="0"><cdstub id="w237dKURKperVfmckD5b_xo8BO8-" ext:score="100"><title>fred</title><artist></artist><track-list count="5"></track-list></cdstub></cdstub-list></metadata>
即已<track-list count="5"/>
成为<track-list count="5"></track-list>
不可取的,我不确定它为什么这样做。