def xmlString = """<?xml version="1.0" encoding="UTF-8"?> <service> <rs> <Id> <details> <start>2017-10-07</start> <startDate>2017-02-02</startDate> <endDate>2017-03-02</endDate> <runAs>false</runAs> <makeVersion>1</makeVersion> <patch>this is patch</patch> <parameter>1</parameter> </details> </Id> <person> <details> <start>2017-09-07</start> <startDate>2017-02-02</startDate> <endDate>2017-03-02</endDate> <runAs>true</runAs> <makeVersion>1</makeVersion> <patch>this is patch</patch> <parameter>1</parameter> </details> </person> </rs> <country> <details> <start>2017-09-07</start> <startDate>2017-02-02</startDate> <endDate>2017-03-02</endDate> <runAs>true</runAs> <makeVersion>1</makeVersion> <patch>this is patch</patch> <parameter>1</parameter> </details> </country> </service>""" def xml = new XmlSlurper().parseText(xmlString) xml.'**'.findAll{it.name() == 'runAs'}.collect{it.replaceBody false} println groovy.xml.XmlUtil.serialize(xml)
Standard input is empty
<?xml version="1.0" encoding="UTF-8"?><service>
<rs>
<Id>
<details>
<start>2017-10-07</start>
<startDate>2017-02-02</startDate>
<endDate>2017-03-02</endDate>
<runAs>false</runAs>
<makeVersion>1</makeVersion>
<patch>this is patch</patch>
<parameter>1</parameter>
</details>
</Id>
<person>
<details>
<start>2017-09-07</start>
<startDate>2017-02-02</startDate>
<endDate>2017-03-02</endDate>
<runAs>false</runAs>
<makeVersion>1</makeVersion>
<patch>this is patch</patch>
<parameter>1</parameter>
</details>
</person>
</rs>
<country>
<details>
<start>2017-09-07</start>
<startDate>2017-02-02</startDate>
<endDate>2017-03-02</endDate>
<runAs>false</runAs>
<makeVersion>1</makeVersion>
<patch>this is patch</patch>
<parameter>1</parameter>
</details>
</country>
</service>