def inputXml = '''<RootNode>
<Parent>
<Test>
<Name>Super1</Name>
<State>Disabled</State>
</Test>
<Test>
<Name>Super2</Name>
<State>Disabled</State>
</Test>
<Test>
<Name>Super1a</Name>
<State>Disabled</State>
</Test>
</Parent>
</RootNode>'''
def changeMap = ['Super1': 'Enabled', 'Super1a': 'Enabled']
def xml = new XmlSlurper().parseText(inputXml)
changeMap.collect { k, v -> def tests = xml.'**'.findAll{it.name() == 'Name' && it == k}*.parent().State*.replaceBody(v) }
println groovy.xml.XmlUtil.serialize(xml)
ZGVmIGlucHV0WG1sID0gJycnPFJvb3ROb2RlPgogIDxQYXJlbnQ+CiAgICA8VGVzdD4KICAgICAgICA8TmFtZT5TdXBlcjE8L05hbWU+CiAgICAgICAgPFN0YXRlPkRpc2FibGVkPC9TdGF0ZT4KICAgIDwvVGVzdD4KICAgIDxUZXN0PgogICAgICAgIDxOYW1lPlN1cGVyMjwvTmFtZT4KICAgICAgICA8U3RhdGU+RGlzYWJsZWQ8L1N0YXRlPgogICAgPC9UZXN0PgogICAgPFRlc3Q+CiAgICAgICAgPE5hbWU+U3VwZXIxYTwvTmFtZT4KICAgICAgICA8U3RhdGU+RGlzYWJsZWQ8L1N0YXRlPgogICAgPC9UZXN0Pgo8L1BhcmVudD4KPC9Sb290Tm9kZT4nJycKCgpkZWYgY2hhbmdlTWFwID0gWydTdXBlcjEnOiAnRW5hYmxlZCcsICdTdXBlcjFhJzogJ0VuYWJsZWQnXQoKZGVmIHhtbCA9IG5ldyBYbWxTbHVycGVyKCkucGFyc2VUZXh0KGlucHV0WG1sKQoKY2hhbmdlTWFwLmNvbGxlY3QgeyBrLCB2IC0+IGRlZiB0ZXN0cyA9IHhtbC4nKionLmZpbmRBbGx7aXQubmFtZSgpID09ICdOYW1lJyAmJiBpdCA9PSBrfSoucGFyZW50KCkuU3RhdGUqLnJlcGxhY2VCb2R5KHYpIH0KCnByaW50bG4gZ3Jvb3Z5LnhtbC5YbWxVdGlsLnNlcmlhbGl6ZSh4bWwp