I'm a rookie in progress 4gl. Can any one say how to export xml format like as follows using SAX-WRITER in Progress 4GL. Here is the format;
<?xml version="1.0" encoding="UTF-8"?>
<IoTInfo>
<Info Name="ApplicationID" Value="IoTBuffer" />
<Info Name="ResourceID" Value="Lansing_DO" />
<Info Name="HostName" Value="Adient-RTA-USE-IoTHub-01.azure-devices.net" />
<Info Name="DeviceId" Value="582-01" />
<Info Name="PrimaryDeviceKey" Value="4n3yEihan+ikfEe1EkI0i/CNeTfiMHdzQCcUQthO4R4=" />
<Info Name="SecondaryDeviceKey" Value="Ue7dNJvVYGRmyVIl4l91hQS0TUDCwvdLs/2X+OWUBe0=" />
<Info Name="TransportType" Value="Mqtt_WebSocket_Only" />
<Info Name="RetryPolicy" Value="Exponential_Backoff_With_Jitter" />
<Info Name="OperationTimeout" Value="15000" />
<Info Name="IoTMessage" Value="{"DeviceId":"469"}" />
<Info Name="MsgTimeStamp" Value="11/20/2019 1:40:12 PM" />
</IoTInfo>
You don't need the SAX-WRITER for that. You can define a simple dataset and a temp-table and output it's XML representation.
DEFINE TEMP-TABLE ttInfo NO-UNDO SERIALIZE-NAME "info"
FIELD InfoName AS CHARACTER XML-NODE-TYPE "attribute" SERIALIZE-NAME "Name"
FIELD InfoValue AS CHARACTER XML-NODE-TYPE "attribute" SERIALIZE-NAME "Value" .
DEFINE DATASET dsInfo SERIALIZE-NAME "IoTInfo" FOR ttInfo .
CREATE ttInfo.
ASSIGN ttInfo.InfoName = "ApplicationID"
ttInfo.InfoValue = "InfoValue".
CREATE ttInfo.
ASSIGN ttInfo.InfoName = "ResourceID"
ttInfo.InfoValue = "Lansing_DO".
DATASET dsInfo:WRITE-XML("file", "c:\temp\xml.xml", FALSE).
DISPLAY "Done".
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments