1

手動で作成しているデータベースプロシージャへの入力xmlを作成しています

StringBuilder.append();

最後に、すべてのxmlが作成されたら、StringBuilderを文字列に変換しています

stringBuilder.tostring()

問題は、Oracle に入力している文字列に &(アンパサンド) を取得していることです\n ストアド プロシージャもアンパサンドを次のものに置き換えました

stringUtils.remove(string,'&')

しかし、それでもOracleストアドプロシージャは&(アンパサンド)のエラーを出しています

文字列内の文字が「アンパサンド文字」に変換されていることを確認したい

¢ > < " ÷ 
4

2 に答える 2

4

XMLを実際に手作業で構築するべきではありません。エラーが発生しやすく、車輪の再発明がかなり進んでいます。継続的な開発のために、私は専用のXMLライブラリを真剣に検討したいと思います。

ただし、そのような文字をすばやくエスケープしたい場合は、ApacheCommonsLangライブラリを参照してください。

org.apache.commons.lang.StringEscapeUtils.escapeXml("Here is data & containing special <chars>");
于 2012-04-26T16:40:48.063 に答える