雖然試圖解析在Groovy RSS提要,我發現使用通配符GPATH例如:什麼是Groovy的GPath表達式的完整語法?
def text = """
<data>
<common-tables>
<table name="address"/>
<table name="phone"/>
</common-tables>
<special-tables>
<table name="person"/>
</special-tables>
<other-tables>
<table name="business"/>
</other-tables>
</data>
"""
def xml = new XmlParser().parse(new ByteArrayInputStream(text.getBytes()))
def tables = xml.'**'.table.findAll{ it.parent().name() ==
"special-tables" || it.parent().name
(從http://old.nabble.com/Q:-Avoiding-XPath---using-GPath-td19087210.html)
它看起來像一個有趣的使用「擴點」運算符。在Groovy網站,書籍等上我找不到任何這方面的參考。
這是如何工作的,更重要的是,您如何發現此問題? GPath中有沒有任何XPath'Rosetta Stone'?
非常好,謝謝!我曾試着尋找源頭,但無法弄清楚在哪裏尋找。 –