シナリオ
既存のXMLファイルのいくつかの属性を更新する必要があります。ファイルにはXSL処理命令が含まれているため、XMLを解析および更新するときに、ファイルに再度書き込む前に命令を追加する必要があります。問題は-私が何をしても-処理命令を挿入できないことです
rgagnon.comにあるJavaの例に基づいて、以下のコードを作成しました
サンプルコード##
import groovy.xml.*
def xml = '''|<something>
| <Settings>
| </Settings>
|</something>'''.stripMargin()
def document = DOMBuilder.parse( new StringReader( xml ) )
def pi = document.createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="Bp8DefaultView.xsl"');
document.insertBefore(pi, document.documentElement)
println document.documentElement
出力を作成します
<?xml version="1.0" encoding="UTF-8"?>
<something>
<Settings>
</Settings>
</something>
欲しいもの
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Bp8DefaultView.xsl"?>
<something>
<Settings>
</Settings>
</something>