有効な xml に変換する必要がある rss フィードから CDATA セクションを含む要素を読み取りました。CDATA セクションのコンテンツはほとんど有効な xhtml ですが、アンパサンドなどの文字が属性 (url) に表示されることがあります。
を使用.replaceAll("&", "&")
してこれを解決できますが、少し前向きに考えると、他の無効な文字が属性またはテキストに表示される可能性があります。
要素をインポートしている CMS は、コンテンツの別の構成を設定しないと CDATA セクションを受け入れないので、私の質問は次のとおりです: 属性とテキストに対してのみ、文字列をエスケープする簡単な方法はありますか?
インポート後にxmlを操作するためにjdomライブラリを使用しています。
編集: Apache の StringEscapeUtils をチェックアウトしましたが、これは文字列全体をエスケープしています。要素内の属性値とテキストのみをエスケープするものが必要です。