Skip to main content

Input json:

 

[{ email: "abcb@hcl.com", status : "NO Id Avalible" }, { email: "kharathi@hcl.com", status : "ID Avalible" }]

 

I need to generate html table response like below in dataweave 1. Can anyone help on this.

 

Expected Response:

<html><body><table border=1 cellpadding=1 cellspacing=1 style=width:500px> <tbody> <tr> <td style=text-align: center;>&nbsp;Email Id</td> <td style=text-align: center;>&nbsp;Update Status</td> </tr> <tr> <td>EMAIL</td> <td>STATUS</td> </tr></body></html> 

2 Antworten
  1. 17. Jan. 2020, 04:39

    Thanks @Rohit Reddy for your response.​ .

     

    But i am facing issue while implementing solution this into Dataweave.

     

    Message        : Exception while executing: 

              td @(style:"text-align: center;"): $.status,

                                ^

    Type mismatch for 'Value Selector' operator

       found :string, :name

     required :datetime, :name or

     required :localdatetime, :name or

     required :object, :name or

     required :time, :name or

     required :array, :name or

     required :date, :name or

     required :localtime, :name or

     required :period, :name.

    Payload        : { "email": "abcb@hcl.com", "status" : "NO Id Avalible" }

    Payload Type     : java.lang.String

     

    Flow XML is: [Attached XML file]

     

    <flow name="testerappFlow">

        <poll doc:name="Poll">

          <fixed-frequency-scheduler frequency="1" timeUnit="MINUTES"/>

          <set-payload value="{ "email": "abcb@hcl.com", "status" : "NO Id Avalible" }" doc:name="Set Payload"/>

        </poll>

        <set-variable variableName="payloadVar" value="#[]" doc:name="Variable"/>

        <expression-component doc:name="Expression"><![CDATA[flowVars.payloadVar.add(payload);]]></expression-component>

        <logger message="#flowVars ---- payload: #payload" level="INFO" doc:name="Logger"/>

        <dw:transform-message doc:name="Transform Message" metadata:id="8aad28c5-b6fd-456f-b409-870e8f92b1e5">

          <dw:input-variable doc:sample="sample_data\string_1.dwl" variableName="payloadVar"/>

          <dw:set-payload><![CDATA[%dw 1.0

    %output application/xml

    ---

    html :

      body :

        table @(border:1,cellpadding:1,

        cellspacing:1,style:"width:500px"):

          tbody : 

            tr : {

              td @(style:"text-align: center;"): "Email Id",

              td @(style:"text-align: center;"): "Update Status"

            } ++

            {(flowVars.payloadVar map {

            

              td @(style:"text-align: center;"): $.status,

              td @(style:"text-align: center;"): $.email

        

         }

            )}

            ]]></dw:set-payload>

        </dw:transform-message>

        <logger message="payload at End: #payload" level="INFO" doc:name="Logger"/>

      </flow>

0/9000