Rahul Sevani
Rahul Sevani

Reputation: 77

Convert xml response to payload

I have response coming like this -

<rsp stat="ok" version="1.0">
   <result>
      <tagObject>
         <id>xx</id>
         <tag_id>001</tag_id>
         <type>Test</type>
         <object_id>101</object_id>
         <created_at>2013-10-09 11:41:45</created_at>
      </tagObject>
      <tagObject>
         <id>xy</id>
         <tag_id>002</tag_id>
         <type>Test</type>
         <object_id>102</object_id>
         <created_at>2013-10-09 11:41:45</created_at>
      </tagObject>
      <tagObject>
         <id>xz</id>
         <tag_id>003</tag_id>
         <type>Test</type>
         <object_id>103</object_id>
         <created_at>2013-10-09 11:43:44</created_at>
      </tagObject>
    </result>
</rsp>

Now I have to create a payload out of it, so that I can insert only <tag_id> and <object_id> into a database table.

Any suggestion on this? I was trying to work with Dataweave with Xpath3 but it did not work for me.

Upvotes: -1

Views: 109

Answers (1)

shaik
shaik

Reputation: 1

enter image description hereYou can convert Xml to Java map using dataweave


%dw 1.0
%output application/java
---
payload.rsp.result.*tagObject map ((tagObject , indexOfTagObject) -> {
    tag_id: tagObject.tag_id as :string,
    object_id: tagObject.object_id as :string
})

Out put: [{tag_id=001, object_id=101}, {tag_id=002, object_id=102}, {tag_id=003, object_id=103}].

Upvotes: 0

Related Questions