meine tags/Segmente:
<row>
<pickup>
<location>
<name>Leergut GmbH</name>
<street>Lange Reihe 22</street>
<zipCode>25912</zipCode>
<city>Schulau</city>
<phone>04321-12345-0</phone>
<location>
</pickup>
<row>
Die fett formatierten tag-Teile sollen nun "concateniert" werden mit "string-join"
die entsprechende Zeile bei COLUMNS lautet dann:
location varchar2(200) PATH 'string-join(row/pickup/location,",")'
meine vollständigen (gekürzten) Abfrage:
SELECT xt.*
FROM XMLTABLE(
PASSING XMLTYPE(BFILENAME('XML_DIR', fileName), -- parsen der Dateinamen
-- PASSING XMLTYPE(BFILENAME('XML_DIR', 'v_53_1_16166.xml'), -- zum Test 1 Datei
nls_charset_id('AL32UTF8') )
COLUMNS
seq,
......
location varchar2(200) PATH 'string-join(row/pickup/location,",")',
.......
) xt;
Ergebnis:
Spalte location:
Leergut GmbHLangeReihe2225912Schulau04321-12345-0
I: lediglich den "Trenner "," nimmt pl/sql bzw. xml nicht...
Ein weiterer Tipp:
Gibt es mehrere "Details" zu einem Tag, konnte ich den "letzten" mit [last()] herausfiltern:
Beispiel: es gibt 2 Adressen-Details bei "location", dann wird die letztere herausgefiltert:
location varchar2(200) PATH 'row/pickup[last()]/location',
Keine Kommentare:
Kommentar veröffentlichen