Groovy 2.0.5 JVM 1.6.0_31 を使用して、既存の XML ファイルを入力として受け取るスクリプトを作成しました。
def root = new XmlParser().parse(new File('filename'))
ファイルを解析し、このような特定の属性を置き換えます
root.Settings.Setting.each {
if (it.'@NAME' =~ 'CASEID_SEQUENCE_SIZE') {
it.'@VALUE' = '100'
そして最後に、このような新しいファイルに変更を書き込みます
def outputfile = new File( levelConfig.RESULTFILE )
new XmlNodePrinter(new PrintWriter(outputfile)).print(root)
このように XML に CDATA がある場合を除いて、これはすべて問題ありません。
<HandlerURL>
<![CDATA[admin/MainWindow.jsp]]>
</HandlerURL>
そのときの結果は
<HandlerURL>
admin/MainWindow.jsp
</HandlerURL>
質問は
スクリプトで CDATA を処理しないようにするにはどうすればよいですか?