在尝试解析Groovy中的RSS源时,我发现使用通配符的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网站,书籍等上找不到任何参考.
这是如何工作的,更重要的是,你如何发现这一点?有没有XPath的GPath“Rosetta Stone”在那里?