Page 1 sur 1

(sans sujet)

Posté : mer. 03 juil. 2019, 18:10:55
par monthi
Bonsoir

J'ai l'XML suivant :

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8" ?>
<response>
<status_code>0</status_code>
<order order_id="600966870" order_date="20190629">
<order_detail cs_code="N251VSA9,698,UNI" quantity ="1" />
</order>
<<order order_id="600971895" order_date="20190629">
<order_detail cs_code="4952SBY2,000,XL" quantity ="1"/>
<order_detail cs_code="4952SBY2,010,XL" quantity ="1"/>
<order_detail cs_code="6217S137,6107,10A" quantity ="1">
</order>
<order order_id="600972090" order_date="20190629">
<order_detail cs_code="0330J008,2123,2" quantity ="1"/>
</order>
....
</response>
Comment récupérer dans un select toutes les balises et attributs.

J'ai essayé différentes méthodes mais
soit je récupère toutes les balises <order_detai>l, mais pas les <orders>,
soit les <orders> et les balises <order=_detail> dans une zone XML

sachant que je ne connais pas le nombre maxi de chaque balise.

Merci d'avance

(sans sujet)

Posté : mer. 03 juil. 2019, 18:33:05
par nbonnet
Bonjour,

quelque chose comme ceci, à affiner :

Code : Tout sélectionner

SELECT X.* 
FROM 
XMLTABLE &#40;'$d/response/order/order_detail' passing xmlparse&#40;document '<response> 
<status_code>0</status_code> 
<order order_id="600966870" order_date="20190629"> 
<order_detail cs_code="N251VSA9,698,UNI" quantity ="1" /> 
</order> 
<order order_id="600971895" order_date="20190629"> 
<order_detail cs_code="4952SBY2,000,XL" quantity ="1"/> 
<order_detail cs_code="4952SBY2,010,XL" quantity ="1"/> 
<order_detail cs_code="6217S137,6107,10A" quantity ="1"/> 
</order> 
<order order_id="600972090" order_date="20190629"> 
<order_detail cs_code="0330J008,2123,2" quantity ="1"/> 
</order> 
</response>'&#41; as "d" 
   COLUMNS 
   order_id    VARCHAR&#40;20&#41;     PATH '../@order_id',
   order_date  VARCHAR&#40;20&#41;     PATH '../@order_date',
   cs_code     VARCHAR&#40;20&#41;     PATH '@cs_code',
   quantity    VARCHAR&#40;20&#41;     PATH '@quantity' &#41; AS X ;

(sans sujet)

Posté : mer. 03 juil. 2019, 18:43:09
par monthi
Bonsoir Nathanaël

Tu es le meilleur :D

il semble que j'avais essayer cette syntaxe mais que j'avais eu une erreur SQL.

tu n'aurais pas une idée sur ma question des header HTTP (Cookie)
Merci