我们有很多遗留的 XPath 表达式,并且正在考虑将代码迁移到 Groovy + XmlSlurper + GPath。
我认为如果有一个工具(或 API)采用现有的 XPath 并生成/执行相应的 GPath,任务会更顺利。即类似的东西:
def resp = new XmlSlurper().parseText(responseAsXml)
def gpath = GPathSomething.compile("//foo/bar[id='123']")
def result = gpath.execute(resp)
def result2 = gpath.'**'.grep( it.@bar = 'baz' )
PS 当然,同样可以通过直接应用 XPath API 来实现,但感觉还是坚持原生方式(GPath)更合适。
PPS 另一方面,GPath 可能不是一个好的选择?任何意见将不胜感激。