1

WS からの xml からレポートを作成しています。レポートは PDF 形式にする必要があるため、fop ライブラリを選択して作成しました。コンピューターのxmlファイルにあるxmlからレポートを作成しようとすると、すべて正常に機能します。WebServer でこのメソッドを呼び出すと、問題が発生します。私はこの行に例外があります:

transformer.transform(src, res);

例外は次のとおりです。

org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x2) was found in the element content of the document.

最初は (Unicode: 0x1a) 文字でしたが、この関数でカットしました:

   private static String stripNonValidXMLCharacters(String in) {

    if (in == null || ("".equals(in))) {
        return null;
    }
    StringBuffer out = new StringBuffer(in);
    for (int i = 0; i < out.length(); i++) {
        if (out.charAt(i) == 0x1a) {
            out.setCharAt(i, '-');
        }             
    }
    return out.toString();
}

しかし、その後 (Unicode: 0x2) 文字が来ました。追加しようとしています

    else if (out.charAt(i) == 0x2) {
        out.setCharAt(i, '-');
    }

役に立ちません。

fop バージョン 0.95 を使用しています。

4

0 に答える 0