Für recht einfach gehaltene XML geht beides relativ flott.
Lesen:
Dann den Cursor fetchen und gut ists.Code:exec sql set option commit=*CHG; exec sql declare Cursorname cursor for select info_req.* from xmltable('/Liste/Kunde' passing xmlparse(document get_xml_file('/Pfad')) columns FELD1 varchar(20) path 'BezeichnunginXML', FELD2 decimal(11, 2) path 'BezZwei', .... FELDN decimal(5, 2) path 'BezFeldN', ) info_req;
XML erzeugen:
Klar kann man das Ganze noch komplexer machen, aber so hast du mal n ÜberblickCode:D MeineXMLDatei S SQLTYPE(XML_CLOB_FILE)NAMING= *SYS, CLOSQLCSR= *ENDACTGRP; ** Zuerst legt man den Namen fest und gibt die Länge an. MeineXMLDatei_name = Hier steht der Name; MeineXMLDatei_nl = %len(%trim(Hier steht der Name)); MeineXMLDatei_fo = sqfovr; ** Im Anschluss weißt man die Dateifelder den XML-Feldern zu: exec sql select xmldocument(xmlgroup( Feld1 as "MeinErstesFeld", Feld2 as "MeinFeld2", ... FeldN as "MeinFeldN" order by Feld1 asc ** Das option row legt den Container und den XML-internen Pfad fest optionrow"Kunde"root"Liste")) into :MeineXMLDatei ** Zuletzt gibt man die Dateien, aus denen gelesen werden soll an from MeinePF where (Bedingung);
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks