
import com.sap.gateway.ip.core.customdev.util.Message
def Message processData(Message message) {
def inputXml = message.getBody(String)
def outputXml = extractFirstChild(inputXml)
message.setBody(outputXml)
return message
}
def extractFirstChild(String inputXml) {
def matcher = inputXml =~ /<ns0:Message1[^>]*>((?:.|[\r\n])*?)<\/ns0:Message1>/
if (matcher) {
return matcher[0][1].trim()
} else {
return inputXml
}
}
<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
<multimap:Message1>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<root>
<Parent>
<Child1>Value1</Child1>
<Child2>Value2</Child2>
<Child3>Value3</Child3>
<Child4>
<field1>Value4</field1>
<field2>Value5</field2>
</Child4>
</Parent>
</root>
</ns0:Message1>
</ns0:Messages
></multimap:Message1>
</multimap:Messages>
<root>
<Parent>
<Child1>Value1</Child1>
<Child2>Value2</Child2>
<Child3>Value3</Child3>
<Child4>
<field1>Value4</field1>
<field2>Value5</field2>
</Child4>
</Parent>
</root>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 | |
4 |