如何导出进行中的xml文件4gl?

如何导出进行中的xml文件4gl?,xml,progress-4gl,Xml,Progress 4gl,我是一个正在进行4gl的新手。任何人都可以说如何使用SAX-WRITER-InProgress 4GL导出xml格式,如下所示。以下是格式 <?xml version="1.0" encoding="UTF-8"?> <IoTInfo> <Info Name="ApplicationID" Value="IoTBuffer" /> <Info Name="ResourceID" Value="Lansing_DO"

我是一个正在进行4gl的新手。任何人都可以说如何使用SAX-WRITER-InProgress 4GL导出xml格式,如下所示。以下是格式

<?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="{&quot;DeviceId&quot;:&quot;469&quot;}" />
        <Info Name="MsgTimeStamp" Value="11/20/2019 1:40:12 PM" />
    </IoTInfo>

这不需要SAX-WRITER。您可以定义一个简单的数据集和一个临时表,并输出它的XML表示

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".    

每个“信息名称”块都以“/”结尾。我不知道如何在括号内生成它。