GroovyでXMLを出力する | サラリーマンP(プログラマーというよりPM) ぽんきち日記

サラリーマンP(プログラマーというよりPM) ぽんきち日記

サラリーマンP(もうプログラマーは業務ではほぼしてなくてPM業務ばっか)の備忘録的なものです

GroovyではMarkupBuilderというものがあり、簡単にXMLを記述することが出来ます。


import groovy.xml.MarkupBuilder

def writer = new StringWriter()
def xml = new MarkupBuilder(writer)

xml.example() {
person(name: 'hoge', type: 'hage'){
city('Tokyo')
remarks('特に無し')
}
person(name: 'moge', type: 'debu', foo: 'bar'){
city('Saitama')
remarks('だ埼玉って言わないで')
}
}

println writer

出力結果:

<example>
  <person name='hoge' type='hage'>
    <city>Tokyo</city>
    <remarks>特に無し</remarks>
  </person>
  <person name='moge' type='debu' foo='bar'>
    <city>Saitama</city>
    <remarks>だ埼玉って言わないで</remarks>
  </person>
</example>



JavaでコーディングするとDOMだのなんだのでこのような形には中々いきません。
物によっては近い記述で出来るライブラリもありますが。
こういった形でXMLが簡単に定義できるのも、Groovyがツールに向いている所以かもしれません。

プログラミングGROOVY/関谷 和愛

¥3,360
Amazon.co.jp