2017-01-16 4 views
0

Kann mir jemand helfen, die unter XML-Struktur bei der Erstellung unter Verwendung von ESQL in IIBESQL XML Creation in IIB

Eingang:

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

Ausgang:

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

Leider steven. Ich bin ein Anfänger ESQL Entwickler. Ich bin ziemlich verwirrt bei der Schaffung der oben genannten Struktur. – ranaa

+0

Angenommen, Sie versuchen, eine Tabelle namens Tiere, mit Eintragungen für Lion, und Cheetah, die leicht zu tun, aber Sie müssen tun. Sehen Sie sich die ESQL-Dokumentation zum Erstellen einer Datenbank/Tabelle an. http://www.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.sqls.doc/ids_sqs_0228.htm –

+0

Vielen Dank für Ihre Eingabe Steven. Aber ich benutze IIB Middleware, wo ich die ESQL in compute-Knoten für die Umwandlung der Eingabe XML in über XML-Format verwenden muss. – ranaa

Antwort

0

Ich fand Lösung. Sie finden den folgenden Code:

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 OutputRoot.XMLNSC.animals. (XMLNSC.Attribute) animal = 'häuslich'; SET OutputRoot.XMLNSC.animals.animal = 'Kuh';

SET AusgabeOutputRoot.XMLNSC.animals. (XMLNSC.Attribute) animal = 'wild'; SET OutputRoot.XMLNSC.animals.animal = 'Gepard';

1

Wenn Sie Universal-Code:

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;