Mon but est de rechercher et d'extraire des valeurs contenues dans certaines balises d'un fichier xml. Certaines de ces balises peuvent être présente où non.
exemple :
Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<ns3:..........>
<Owner>
...
</Owner>
<NombreErreur>1</NombreErreur>
<Circulation>
<NumeroIdentifiantClient>xxxxx<NumeroIdentifiantClient>
<Anomalie>
<CodeAnoamlie>1</CodeAnoamlie>
<LibelleAnomalie>rrrrrrrrrrrrr </LibelleAnomalie>
</Anomalie>
</Circulation>
<Circulation>
<NumeroIdentifiantClient>xxxxx<NumeroIdentifiantClient>
</Circulation>
</ns3>
Sur l'IFS j'ai un fichier XML.
Je copie ce fichier avec
CPYFRMIMPF FROMSTMF('/XML/SIMOC.xml') TOFILE(LIB/TESTXML) MBROPT(*REPLACE) FROMCCSID(*FILE) TOCCSID(*FILE) RCDDLM(*LF) DTAFMT(*DLM) STRDLM(*NONE) RMVBLANK(*NONE) RPLNULLVAL(*FLDDFT)
dans un fichier créer par un crtpf.
Je peux lire mon fichier et faire un scan pour trouver
En cherchant un peu j'ai trouvé dans VOLUBIS ce code
Code : Tout sélectionner
dFileXml s sqltype(XML_DBCLOB:2500)
d pos s 5i 0
/free
exec sql
select LIGNE into :FileXml from lib/testxml1;
pos = %scan(%ucs2('Circulation') : FileXml_data);
*inlr = *on;
/end-free
Donc je me demande si mon fichier doit être créer par un crtpf ou autrement ?
Demande supplémentaire : dans sqltype(XML_DBCLOB:2500) à quoi correspond la valeur 2500 ?
Merci d'avance pour vos réponses.