PDA

View Full Version : XML aktueller Stand



Seiten : 1 [2]

dholtmann
07-06-17, 15:51
Für recht einfach gehaltene XML geht beides relativ flott.
Lesen:

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;
Dann den Cursor fetchen und gut ists.

XML erzeugen:


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);




Klar kann man das Ganze noch komplexer machen, aber so hast du mal n Überblick