私は 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>
た。なぜこれを行っているのかわかりません。