Bonjour à tous,
A chaque jour une nouvelle chose à apprendre.
J'ai une table, et dans une colonne de cette table qui est de type XMLTYPE
Le XML est de la forme suivante :
Les données en rouge sont celles que je veux utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <listeClients xmlns="http://www.test.fr/rcs/xsd/Client_V2"> <clientDesc> <idAlternatif nomID="GUID" nomEmetteurID="NomSoc" urlRepertoireID="http://rcs.test.fr">0898681e-ac44-005a-e053-c0a84f167973</idAlternatif> <identifiant nomID="ID_RCS" nomEmetteurID="NomSoc" urlRepertoireID="http://rcs.test.fr">AL64IQ</identifiant> <nomUsage>ETMF</nomUsage> <typeClient>Juridique</typeClient> <dateParam>2024-03-14T17:22:59</dateParam> </clientDesc> </listeClients>
mon code pour insérer les données est le suivant :
Et mon problème, c'est que les données XML comportent des balises complexes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 BEGIN INSERT INTO table_cible ( id_import, type_client, id_rcs, nom, date_modification ) SELECT 10, x.type_client, x.id_rcs, x.nom, x.date_modification FROM table_source t, XMLTABLE ( '/listeClients/clientDesc' PASSING t.xml_data COLUMNS id_rcs VARCHAR2(4000) PATH 'identifiant', nom VARCHAR2(4000) PATH 'nomUsage', type_client VARCHAR2(4000) PATH 'typeClient', date_modification VARCHAR2(4000) PATH 'dateParam' ) x WHERE t.id_import = 10; commit; END;
J'ai essayé ici :
de mettre identifiant.value, identifiant.text.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 COLUMNS id_rcs VARCHAR2(4000) PATH 'identifiant',
Rien ne fonctionne, et rien n'est inséré.. Et en plus il n'y a aucune erreur à l'exécution.
Si quelqu'un a une idée qui pourrait me débloquer.
Michel
Partager