XML ファイル内のいくつかのノードを更新する必要があります (1 つのテキスト要素を別のテキスト要素に置き換えるだけです)。結果の XML ファイルが (可能な場合) すべての書式を保持するようにします。
たとえば、ソース ドキュメントは次のとおりです。
<project>
<!-- Some long comment -->
<!-- On several lines -->
<name>Name</name> <!-- And here too -->
<version>1.2.3</version>
</project>
これは必要な結果ドキュメントです (バージョンが変更されていることに注意してください)。
<project>
<!-- Some long comment -->
<!-- On several lines -->
<name>Name</name> <!-- And here too -->
<version>3.2.1</version>
</project>
したがって、結果はソースからのすべての書式設定を保持し、バージョン タグの内容のみが変更されます。
残念ながら、標準の Clojure (または Java) ライブラリでこれを行う方法が見つかりませんでした。確かに、それらは XML の文字列表現の基本的なインデントをサポートしていますが、私にとっては十分ではありません。
いくつかの XML 操作ライブラリ (できれば Clojure ですが、Java も問題ないと思います) でこれを行う方法はありますか、それともプレーン テキスト/正規表現の置換にフォールバックする必要がありますか? (本当に、 XML タグが目から漏れてほしくありません。これは最後の手段です...)