Skip to end of metadata
Go to start of metadata


GPathはGroovyに統合されたパス式言語であり、これによりネストした構造のデータの一部を識別することができるようになります。XMLにおけるXPathと似た目的と作用域をもっています。GPath式を使う2つのメインの領域は、ネストしたPOJOを扱うときやXMLを扱うときです。


例えば興味のあるオブジェクトや要素へのパスをを指定します。
a.b.c -> XMLでは<a>の内部にある<b>の内部の<c>を指す
a.b.c -> POJOでは<a>にあるすべての<b>プロパティの<c>プロパティを指す。
(JavaBeansの a.getB().getC() のようなもの)


XMLでは属性も指定することができます。例えば、
a["@href"] -> すべての要素のhref属性
a.'@href' -> 別の指定方法
a.@href -> XmlSlurper を使った場合の別の指定方法


GPathのXMLに対する一番良い例は new/groovy/util/XmlSlurperTest.groovy というテストです。

概略

1.要素をプロパティとしてアクセスする

2.属性にアクセスする

3.要素の内部にアクセスする


もし要素が親ノードだった場合、すべての子要素のtextを表示します。

3.children() と parent() を使ったDOM探査

4.式を使って要素を探す

別の例


次のはWEBページ上に一覧化された.xmlファイルへのリンクを一覧ですべて取得する2行の例です。Neko parser はWell formedではないhtmlをパースするために使われ、Groovyの標準の配布物の一部にとして移植されています。

詳細情報


こちらも参照してください: Japanse Processing XML

  • No labels