Forum Discussion

SuperSingh's avatar
SuperSingh
Contributor
7 years ago

Generate Request XML with input from excel using Groovy

 

I am trying to generate Request XML using excel sheet. Can someone please look into this and help me out.

I am trying to write groovy script to pick nodes(customer_info, un:id, un:org et.c) from excel.I've attached a sample XML, which is my expected output from the groovy script.

(I can use Datasource later to test this with different values. But the first step is to generate the XML)

 

Also, note that the sample XML i shared has some child nodes (lp:time)that need not be present everytime, but I should be able to add it in request xml, if the excel sheet has that flag set as yes.

 

Note: I don't have any excel sheet prepared that serves as input here. 

 

Thanks in advance !

    • SuperSingh's avatar
      SuperSingh
      Contributor

      Thanks for replying. But the following is my expected output.

      Also, please note I am trying to pick the nodes from excel input.Any inputs in that direction will be of great help for me to explore further.

       

      <?xml version="1.0" encoding="UTF-8"?>
      <program xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:lp="http://www.someurl1.org/2001/XMLSchema-instance">
      <un:document_version>1</un:document_version>
      <un:index_version>1</un:index_version>
      <un:customer_info>
      <un:id>User14</un:id>
      <un:org>XYZ_Org</un:org>
      <un:firstname>Jack</un:firstname>
      <un:lastname>Mike</un:lastname>
      <un:extra>
      <un:city>Dallas</un:city>
      </un:extra>
      </un:customer_info>
      <un:settings>
      <un:temperature units="celsius">37</un:temperature>
      <un:extra>
      <lp:count size="3">
      <lp:round round_id="1">
      <lp:volume units="mL">170</lp:volume>
      </lp:round>
      <lp:round round_id="2">
      <lp:volume units="mL">100</lp:volume>
      <lp:time units="s">1500</lp:time>
      </lp:round>
      </lp:round>
      <lp:round round_id="3">
      <lp:volume units="mL">10</lp:volume>
      </lp:round>
      </lp:count>
      </un:extra>
      <un:input1>
      </un:input1>
      <un:input2>
      </un:input2>
      </program>