Вы также можете обрабатывать дефисированные (и не дефисные) атрибуты, используя переменные, что иногда полезно только при общей обработке XML с неизвестными или противоречивыми атрибутами (такими как, возможно, отправленные веб-формы).
Здесь вы можете увидеть пример, который перебирает все атрибуты в XML, независимо от того, имеют ли они перенос или нет:
def xml = "<router name='b' id='x' manufacturer-id='e' model-number='a'/>"
def router = new XmlSlurper().parseText(xml)
for (String attrib : router.attributes().keySet()) {
value = router.@"$attrib".text()
println("${attrib}=${value}")
}