Gibt es eine Möglichkeit, XmlSlurper beliebige Elemente durch eine Variable erhalten? z.B. so kann ich so etwas wie Eingabedatei tun:Verwenden von Variablen in XmlSlurper GPath
<file>
<record name="some record" />
<record name="some other record" />
</file>
def xml = new XmlSlurper().parse(inputFile)
String foo = "record"
return xml.{foo}.size()
Ich habe versucht, mit {} und $ {} und() Wie entkommen ich Variablen wie das? Oder gibt es nicht einen Weg? und ist es möglich, auch Ergebnisse von Schließungen als Argumente zu verwenden? So konnte ich so etwas wie
String foo = file.record
int numRecords = xml.{foo.find(/.\w+$/)}
Dies funktioniert nicht für Elemente, die nicht unmittelbaren Kinder der Wurzel. Beachten Sie: def xmltxt = "" " """ def xml = new XmlSlurper(). ParseText (xmltxt) Zeichenfolge foo = "something.record" Rückgabe xml. "$ {Foo}". Size() Weitere Vorschläge? –
Keegan
Ich kenne keinen guten Weg, Sie könnten die Zeichenfolge teilen: def aNode = xml foo.split ("\\."). Jeder { aNode = aNode. "$ {It}" } zurück aNode.size() –
Ja, hacken die String up funktioniert, danke :) – Keegan