在下面的示例中,xpath已在代码中给出。
String xml = Recall.getXml()
def telephoneNumbers = new XmlSlurper().parseText(xml)
def outputBuilder = new groovy.xml.StreamingMarkupBuilder()
String telephoneXml = outputBuilder.bind { mkp.yield telephoneNumbers.telephone }
想知道通过变量指定相同xpath的任何可能的解决方案。如下。
String telephoneXml = outputBuilder.bind { mkp.yield ${xpath} }
提前致谢。
答案 0 :(得分:0)
要明确这不是xpath
。在groovy中它被命名为gpath,这是一个时髦的表达。
您可以使用Eval类来评估字符串中的groovy表达式:
def xml = '''<root>
<telephone>1234567899</telephone>
<cell>1234567890</cell>
</root>'''
def telephoneNumbers=new XmlSlurper().parseText(xml)
def outputBuilder = new groovy.xml.StreamingMarkupBuilder()
def gpath = "xml.telephone"
String telephoneXml = outputBuilder.bind { mkp.yield Eval.me('xml',telephoneNumbers,gpath) }