2017-07-06 8 views
0

以下の例では、xpathがコード内に指定されています。Groovyで動的な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を指定するための任意の解決策を知りたいと考えます。以下のように。

ありがとうございます。

答えて

0

これは明らかではありません。xpathです。 Groovyではgpathと名付けられています。

あなたは文字列からグルーヴィーな式を評価するためにEvalクラスを使用することができます。

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) } 
関連する問題