2017-01-16 76 views
0

有人可以幫助我在IIBESQL XML創作IIB

輸入創建使用ESQL以下XML結構:

<animal> 
    <animaldomestic>dog<animaldomestic> 
    <animalwild>cheetah<animalwild> 
</animal> 

輸出:

<animals> 
    <animal type="domestic">cow</animal> 
    <animal type="wild">cheetah</animal> 
</animals> 
+0

對不起史蒂芬。我是新手ESQL開發人員。我在創建上述結構時很困惑。 – ranaa

+0

假設你正在試圖製作一張名爲動物的表格,其中有Lion的條目,而Cheetah很容易做,但你需要做。嘗試查看ESQL文檔以創建數據庫/表。 http://www.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.sqls.doc/ids_sqs_0228.htm –

+0

感謝您的輸入史蒂文。但是,我正在使用IIB中間件,我需要在計算節點中使用ESQL將輸入xml轉換爲上述xml格式。 – ranaa

回答

0

我找到解決這個。請發現以下代碼:

SET OutputRoot.XMLNSC.animals.animal[1].(XMLNSC.Attribute)type = 'domestic'; 
SET OutputRoot.XMLNSC.animals.animal[1]VALUE = InputRoot.XMLNSC.animal.animaldomestic; 
SET OutputRoot.XMLNSC.animals.animal[2].(XMLNSC.Attribute)type = 'wild'; 
SET OutputRoot.XMLNSC.animals.animal[2]VALUE = InputRoot.XMLNSC.animal.animalwild; 
3

SET OuputRoot.XMLNSC.animals。(XMLNSC.Attribute)animal ='domestic'; SET OutputRoot.XMLNSC.animals.animal ='cow';

SET OuputRoot.XMLNSC.animals。(XMLNSC.Attribute)animal ='wild'; SET OutputRoot.XMLNSC.animals.animal ='獵豹';

1

如果你想通用代碼:

DECLARE animal REFERENCE TO InputRoot.XMLNSC.animal.*[>]; 
DECLARE type CHAR; 
DECLARE I INTEGER 1; 
WHILE LASTMOVE(animal) DO 
    SET type = SUBSTRING(FIELDNAME(animal) AFTER 'animal'); 
    SET OutputRoot.XMLNSC.animals.animal[I] = FIELDVALUE(animal); 
    SET OutputRoot.XMLNSC.animals.animal[I].(XMLNSC.Attribute)type = type; 
    SET I = I + 1; 
    SET type = ''; 
    MOVE animal NEXTSIBLING; 
END WHILE;