我正在嘗試使用 DEFINE DATASET 生成具有以下格式的 XML 檔案:
<Parent>
<Child1>
<Child1 field>
</Child1>
<Parent field>
<Child2>
<Child2 field>
</Child2>
</Parent>
我嘗試將 PARENT-FIELDS-AFTER 陳述句與 PARENT > Child1 一起使用,但 Parent 欄位出現在 Child2 表之后。什么是正確的語法?
uj5u.com熱心網友回復:
您要查找的是資料集中的PARENT-FIELDS-AFTER和PARENT-FIELDS-BEFORE屬性PARENT-ID-RELATION。
如果您有更復雜的臨時表,則可能必須在定義中處理更多欄位。但這是一個基本的作業示例。
DEFINE TEMP-TABLE ttParent NO-UNDO SERIALIZE-NAME "Parent"
FIELD parentField AS CHARACTER.
DEFINE TEMP-TABLE ttChild1 NO-UNDO SERIALIZE-NAME "Child1"
FIELD id AS RECID SERIALIZE-HIDDEN
FIELD childField AS CHARACTER .
DEFINE TEMP-TABLE ttChild2 NO-UNDO SERIALIZE-NAME "Child2"
FIELD id AS RECID SERIALIZE-HIDDEN
FIELD childField AS CHARACTER .
DEFINE DATASET dsDataset SERIALIZE-HIDDEN FOR ttParent, ttChild1, ttChild2
PARENT-ID-RELATION pir1 FOR ttPArent, ttChild1 PARENT-ID-FIELD ttChild1.id
PARENT-FIELDS-AFTER(ttParent.parentField)
PARENT-ID-RELATION pir2 FOR ttPArent, ttChild2 PARENT-ID-FIELD ttChild2.id.
CREATE ttParent.
ASSIGN ttParent.parentField = "AAA".
CREATE ttChild1.
ASSIGN ttChild1.id = RECID(ttParent)
ttChild1.childField = "BBB".
CREATE ttChild2.
ASSIGN ttChild2.id = RECID(ttParent)
ttChild2.childField = "CCC".
DATASET dsDataset:WRITE-XML("file", "c:/temp/file.xml", TRUE, ?,?,?,?,?,TRUE)
檔案.xml:
<Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Child1>
<childField>BBB</childField>
</Child1>
<parentField>AAA</parentField>
<Child2>
<childField>CCC</childField>
</Child2>
</Parent>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459324.html
