我们有很多传统的XPath表达式,并且正在考虑将代码迁移到Groovy + XmlSlurper + GPath。
我认为,如果有一个使用现有XPath并生成/执行相应GPath的工具(或API),任务会更加顺利。即就像是:
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' )
附言当然,可以通过直接使用XPath API来实现相同的目的,但是使用本机处理方式(GPath)感觉更合适。
P.P.S.另一方面,也许GPath不是一个好选择吗?将不胜感激任何评论。
最佳答案
找不到可用的产品。决定使用XPath,并从Groovy调用Java XPath API(Saxon)。效果不错。
关于xpath - Groovy GPath编译器中是否有XPath?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10707793/