Groovy+Xml(その1:XmlSlurperとXmlParserの違い)

Groovy,XML

XmlSlurperとXmlParser、両者はいずれもxmlをパースするクラスですがなにが違うのかなとおもい調べてみた。

大きな違いは以下のようになっている(参考:Processing XML - Groovy - Codehaus

XmlParser

supports GPath expressions for XML documents and allows updating

xml文書のGPath表現をサポートしているし、文書の更新も可能だよ

XmlSlurper

lower overheads than XmlParser due to lazy evaluation but only supports read operations

遅延処理を利用してXmlParserよりもオーバーヘッドが少ないが、読み込み処理しかサポートしてないよ

xmlで記述した初期設定を読み込むような書き込みのない処理にはXmlSlurperが向いているようです。

逆にxmlをよみこんで要素を修正し、出力する、といった場合にはXmlParserの方がよいみたい。

Groovy,XML