Roken Acheteur Compulsif ! | bonjour,
j'ai actuellement un problème avec un flux RSS que je voudrais décoder via une appli windev.
Voilà le code de l'appli, en gros je veux parcourir mon fichier ça marche nickel chrome mais du moment que j'intègre les boucles et bien là j'ai un problème ca fonctionne pas du tout.
Ca m'affiche bien le sous-total, escompte, livraison, taxe , total TTC... J'arrive aussi à avoir le le title mais a la balise link il m'affiche ce qui est dans le pubdate alors que sans la boucle ca fonctionne et la partie reference , designation, quentité ne fonctionne pas alors qu'elle aussi fonctionne sans sa boucle.
merci d'avance pour l'aide. PS: je ne suis qu'un débutant dans windev et en stage oops: merci d'avance
Code :
- //On accede à la racine du document RSS
- //Et on le parcourt
- XMLRacine("DocXML" )
- XMLFils("DocXML" )
- XMLSuivant("DocXML" )
- XMLFils("DocXML" )
- XMLSuivant("DocXML" )
- XMLSuivant("DocXML" )
- XMLSuivant("DocXML" )
- XMLSuivant("DocXML" )
- XMLSuivant("DocXML" )
- //Partie à analyser
- TANTQUE XMLEnDehors("DocXML" ) = Faux
- //Balise <item>
- XMLSuivant("DocXML" )
- //Balise <title> contient le numéro de commande avec la date de creation
- XMLFils("DocXML" )
- sTitle est une chaîne = (XMLDonnée("DocXML" ))
- //Extraction du CDATA qui se trouve dans la chaine afin de pouvoir la traiter (appel la procédure CDATA)
- sTitle = extraitCDATA(sContenuXML,"title",2)
- //Balise <link> qui contient le lien pour arriver à la fiche de la commande détaillé
- XMLSuivant("DocXML" )
- sLink est une chaîne = (XMLDonnée("DocXML" ))
- //Balise de <description>
- XMLSuivant("DocXML" )
- sDescription est une chaîne = (XMLDonnée("DocXML" ))
- //on enleve le CDATA
- sDescription = extraitCDATA(sContenuXML, "description",2)
- //On retraite le contenu de description
- SI sDescription <> "" ALORS
- // Creation du document XML
- Res = XMLDocument("DocXMLDescription", sDescription)
- // Le document est cree ?
- SI Res = Faux ALORS
- SI EnModeTest() ALORS Trace("Le document n`a pas pu etre cree." )
- FIN
- FIN
- Info(sTitle)
- //Balise de <commande>
- XMLRacine("DocXMLDescription" )
- //Boucle qui liste tous les produits d'une commande
- TANTQUE XMLEnDehors("DocXMLDescription" ) = Faux
- //Balise de <produit>
- XMLFils("DocXMLDescription" )
- //balise de <reference>
- XMLFils("DocXMLDescription" )
- sReference est une chaîne = (XMLDonnée("DocXMLDescription" ))
- //Balise de <désignation>
- XMLSuivant("DocXMLDescription" )
- sDesignation est une chaîne = (XMLDonnée("DocXMLDescription" ))
- //Balise de <quantite>
- XMLSuivant("DocXMLDescription" )
- rquantite est une réel = (XMLDonnée("DocXMLDescription" ))
- //Balise <total> ( total d'un produit)
- XMLSuivant("DocXMLDescription" )
- rTotal est un réel = (XMLDonnée("DocXMLDescription" ))
- FIN
- //On remonte a la balise parent qui est <produit>
- XMLParent("DocXMLDescription" )
- //on descend à la balise <sousTotal>
- XMLSuivant("DocXMLDescription" )
- rSoustotal est une réel = (XMLDonnée("DocXMLDescription" ))
- //Balise <escompte>
- XMLSuivant("DocXMLDescription" )
- rEscompte est un réel = (XMLDonnée("DocXMLDescription" ))
- //Balise <livraison>
- XMLSuivant("DocXMLDescription" )
- rLivraison est un réel = (XMLDonnée("DocXMLDescription" ))
- //Balise <Taxe>
- XMLSuivant("DocXMLDescription" )
- rTaxe est un réel = (XMLDonnée("DocXMLDescription" ))
- //Balise <totalTTC>
- XMLSuivant("DocXMLDescription" )
- rTotalTCC est un réel = (XMLDonnée("DocXMLDescription" ))
- XMLTermine("DocXMLDescription" )
- FIN
- //Arrete le traitement de la feuille XML
- XMLTermine("DocXML" )
|
:
la source XML/RSS
Code :
- <?xml version="1.0" encoding="UTF-8"?>
- <rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
- <channel>
- <title><![CDATA[New Orders]]></title>
- <link>****</link>
- <description><![CDATA[New Orders]]></description>
- <pubDate>Wed, 25 Jun 2008 12:25:51 +0000</pubDate>
- <generator>Zend_Feed</generator>
- <docs>http://blogs.law.harvard.edu/tech/rss</docs>
- <item>
- <title><![CDATA[Order #100000007 created at 24/06/08]]></title>
- <link>*****</link>
- <description><![CDATA[
- <commande> <produit>
- <reference> **** </reference> <designation> ***** </designation> <quantite> 1
- </quantite> <total> </total>
- </produit> <soustotal> 37.2100 </soustotal>
- <escompte> </escompte> <livraison> 10.0000
- </livraison> <taxe> 9.2500 </taxe> <totalTTC> 56.4600 </totalTTC>
- </commande>]]></description>
- <pubDate>Wed, 25 Jun 2008 12:25:51 +0000</pubDate>
- </item>
- <item>
- <title><![CDATA[Order #100000006 created at 21/06/08]]></title>
- <link>******</link>
- <description><![CDATA[
- <commande> <produit>
- <reference> **** </reference> <designation> ***** </designation> <quantite> 1
- </quantite> <total> </total>
- </produit> <soustotal> 25.0000 </soustotal>
- <escompte> </escompte> <livraison> 10.0000
- </livraison> <taxe> 6.8600 </taxe> <totalTTC> 41.8600 </totalTTC>
- </commande>]]></description>
- <pubDate>Wed, 25 Jun 2008 12:25:51 +0000</pubDate>
- </item>
- </channel>
- </rss>
|
|