fork(12) download
  1. def inputXml = '''<RootNode>
  2. <Parent>
  3. <Test>
  4. <Name>Super1</Name>
  5. <State>Disabled</State>
  6. </Test>
  7. <Test>
  8. <Name>Super2</Name>
  9. <State>Disabled</State>
  10. </Test>
  11. <Test>
  12. <Name>Super1a</Name>
  13. <State>Disabled</State>
  14. </Test>
  15. </Parent>
  16. </RootNode>'''
  17.  
  18.  
  19. def changeMap = ['Super1': 'Enabled', 'Super1a': 'Enabled']
  20.  
  21. def xml = new XmlSlurper().parseText(inputXml)
  22.  
  23. changeMap.collect { k, v -> def tests = xml.'**'.findAll{it.name() == 'Name' && it == k}*.parent().State*.replaceBody(v) }
  24.  
  25. println groovy.xml.XmlUtil.serialize(xml)
Success #stdin #stdout 1.64s 117200KB
stdin
Standard input is empty
stdout
<?xml version="1.0" encoding="UTF-8"?><RootNode>
  <Parent>
    <Test>
      <Name>Super1</Name>
      <State>Enabled</State>
    </Test>
    <Test>
      <Name>Super2</Name>
      <State>Disabled</State>
    </Test>
    <Test>
      <Name>Super1a</Name>
      <State>Enabled</State>
    </Test>
  </Parent>
</RootNode>