also zu den acces ich durch meine xml-Datei wie folgt bin Iterieren:Wie bestimmte XML-Attribute für einen bestimmten Knoten
def root = new XmlSlurper().parseText(getServiceConfigXml())
println "Project attributes: ${root.attributes()}"
root.project.each { project ->
println "\tProject attributes: ${project.attributes()}"
project.service.each { service ->
println "\t\tService attributes: ${service.attributes()}"
service.receiver.each { receiver ->
println "\t\tReceiver: ${receiver.attributes()}"
receiver.endpoint.each { endpoint ->
println "\t\tEndpoint: ${endpoint.attributes()} - ${endpoint.text()}"
}
receiver.endpoint.each { environment ->
println "\t\tEnvironment: ${environment.attributes()}"
}
}
}
}
Und hier einige ein Beispiel der XML ich Iterieren durch:
<configuration>
<service name='name' pattern='something' isReliable='maybe'>
<receiver name='name' isUsingTwoWaySsl='maybe' isWsRmDisabled='maybe' targetedByTransformation='maybe'>
<endpoint name='local_tst01'>URL</endpoint>
<endpoint name='local_tst02'>URL</endpoint>
<endpoint name='local_tst03'>URL</endpoint>
<environment name='dev' default='local_dev' />
<environment name='tst01' default='test' />
<environment name='tst02' default='local_tst02' />
</receiver>
<operation name='name'>
<sender>sender</sender>
<attribute name='operation' type='String'>name</attribute>
</operation>
</service>
</configuration>
Nehmen Sie zum Beispiel den Empfängerknoten. Ich bin eine Ausgabe bekommen zur Zeit, die wie folgt aussieht:
Empfänger: [isWsRmDisabled: false, isUsingTwoWaySsl: true, Name: CTSS, targetedByTransformation: false]
aus dieser Codezeile
${receiver.attributes()}
Anstatt alle Attribute zu erhalten, möchte ich auf ein bestimmtes Attribut zugreifen. Zum Beispiel der Name-Attribut, das würde wie folgt aussehen:
CTSS
Ist dies möglich, ohne dabei jede Unterkette Abhilfe?
Ich stelle mir vor so etwas wie:
${receiver.name()}
dies jedoch Ausgänge 'Empfänger' und nicht das Attribut name