(sans sujet)

configuration Apache, Zend et PHP , Web services
Répondre
monthi
Messages : 77
Enregistré le : mar. 11 sept. 2018, 15:37:02
Localisation : Paris

(sans sujet)

Message 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

nbonnet
Messages : 197
Enregistré le : mar. 11 sept. 2018, 08:20:13
Localisation : Lyon

(sans sujet)

Message 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 ;
Nathanaël

monthi
Messages : 77
Enregistré le : mar. 11 sept. 2018, 15:37:02
Localisation : Paris

(sans sujet)

Message 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

Répondre