salut tout le monde,
j'ai un problème de lecture de fichier xml importé avec un procedure PL/SQL, par une URL.
En fait, quand j'ai un fichier de xml de ce type (balise : EVAL) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <result version="3.1" site="8535" refid="12945" retour="trouvee" count="1">
- <transaction avancement="traitee" cid="2802855">
  <detail>Paiement validé</detail> 
- <analyse>
  <eval date="18/05/2009 17:21:39" critere="###" validation="Assuré à 100 %" info="Profil Abonnés Fournisseur d Accès">100</eval> 
  <classement id="15">Transactions traitées/Validées/Automatiquement</classement> 
  </analyse>
  </transaction>
  </result>
je récupére bien les valeurs : DATE, INFO et la valeur 100.

Mais, dés que j'ai un fichier du méme type avec 2 balise TRANSACTION :

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
<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <result version="3.1" site="8535" refid="13493" retour="trouvee" count="2">
- <transaction avancement="traitee" cid="2085968">
  <detail>Paiement validé</detail> 
- <analyse>
  <eval date="10/10/2009 15:22:56" critere="###" validation="Assuré à 100 %" info="Montant faible">0</eval> 
  <classement id="15">Transactions traitées/Validées/Automatiquement</classement> 
  </analyse>
  </transaction>
- <transaction avancement="traitee" cid="2085963">
  <detail>Paiement validé</detail> 
- <analyse>
  <eval date="10/10/2009 15:22:31" critere="###" validation="Assuré à 100 %" info="Montant faible">100</eval> 
  <classement id="15">Transactions traitées/Validées/Automatiquement</classement> 
  </analyse>
  </transaction>
  </result>
je récupére bien aussi DATE et INFO, mais PAS la valeur de la balise EVAL, ie, le "0".
NB, je pointe sur la 1ere balise TRANSACTION.
Voici mon code xml qui récupère les champs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
      wa_xmldiagnostic :=f_vad_demandereponsefianet (p_codsoc, p_siteid, p_passwd, wa_numcde);
      wa_listenode := xpath.selectnodes (wa_xmldiagnostic, '/result');
      wn_numeve := xpath.valueof (xmldom.item (wa_listenode, 0), '@refid');
      wa_retour := xpath.valueof (xmldom.item (wa_listenode, 0), '@retour');
      wa_avcmt :=  xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/@avancement');
      wa_dateval := xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/analyse/eval/@date');
      wa_info := xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/analyse/eval/@info');
      wa_eval := xpath.valueof (xmldom.item (wa_listenode, 0), 'transaction/analyse/eval');
f_vad_demandereponsefianet : est la fonction qui récupére le flux de données.
Donc mon Pb est sur la variable : wa_eval, qui ne contient rien dés que j'ai 2 branche de <TRANSACTION>.
c'est quoi le Pb svp.
merci pour votre aide.