XPATH d'un fichier XML avec Oracle
Bonjour,
je voudrai lister les valeurs des attributs d'un fichiers XML
Citation:
<root>
<s id="s1">
<z code="A01" libelle="ESPACE A01">
<p debut="10/03/2014 00:15" fin="10/03/2014 00:15" in="0" out="0" flag="1" traite="0"/>
....
J'ai fais le code suivant pour aficher le id de la balise s, le code des balises z, et le debut
Code:
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 30
| FOR r1 IN (SELECT EXTRACTVALUE (VALUE (p), 's/@id') AS ID
FROM TABLE (XMLSEQUENCE (EXTRACT (x, '/root/s'))) p)
LOOP
DBMS_OUTPUT.put_line ('id_structure = ' || r1.ID);
FOR r IN (SELECT EXTRACTVALUE (VALUE (p), 'z/@code') AS cod
FROM TABLE (XMLSEQUENCE (EXTRACT (x,
'/root/s[@id="'
|| r1.ID
|| '"]/z'
)
)
) p)
LOOP
DBMS_OUTPUT.put_line ('code zone = ' || r.cod);
FOR r2 IN
(SELECT EXTRACTVALUE (VALUE (p), 'p/@debut') AS debut
FROM TABLE (XMLSEQUENCE (EXTRACT (x,
'/root/s/z[@code="'
|| r.cod
|| '"]/p'
)
)
) p)
LOOP
DBMS_OUTPUT.put_line ('debut = ' || r2.debut);
END LOOP;
END LOOP;
END LOOP; |
est ce qu'il y a une optimisation à faire?