Parcours XML + boucle : WINDEV

Parcours XML + boucle : WINDEV - XML/XSL - Programmation

Marsh Posté le 25-06-2008 à 17:15:55    

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:  :oops:  
 
merci d'avance  
 

Code :
  1. //On accede à la racine du document RSS
  2. //Et on le parcourt
  3. XMLRacine("DocXML" )
  4. XMLFils("DocXML" )
  5. XMLSuivant("DocXML" )
  6. XMLFils("DocXML" )
  7. XMLSuivant("DocXML" )
  8. XMLSuivant("DocXML" )
  9. XMLSuivant("DocXML" )
  10. XMLSuivant("DocXML" )
  11. XMLSuivant("DocXML" )
  12. //Partie à analyser
  13. TANTQUE XMLEnDehors("DocXML" ) = Faux
  14. //Balise <item>
  15. XMLSuivant("DocXML" )
  16. //Balise <title> contient le numéro de commande avec la date de creation
  17. XMLFils("DocXML" )
  18. sTitle est une chaîne = (XMLDonnée("DocXML" ))
  19. //Extraction du CDATA qui se trouve dans la chaine afin de pouvoir la traiter (appel la procédure CDATA)
  20. sTitle = extraitCDATA(sContenuXML,"title",2)
  21. //Balise <link> qui contient le lien pour arriver à la fiche de la commande détaillé
  22. XMLSuivant("DocXML" )
  23. sLink est une chaîne = (XMLDonnée("DocXML" ))
  24. //Balise de <description>  
  25. XMLSuivant("DocXML" )
  26. sDescription est une chaîne = (XMLDonnée("DocXML" ))
  27. //on enleve le CDATA
  28. sDescription = extraitCDATA(sContenuXML, "description",2)
  29. //On retraite le contenu de description
  30. SI sDescription <> "" ALORS
  31.  // Creation du document XML
  32.  Res = XMLDocument("DocXMLDescription", sDescription)
  33.  // Le document est cree ?
  34.  SI Res = Faux ALORS
  35.   SI EnModeTest() ALORS Trace("Le document n`a pas pu etre cree." )
  36.  FIN       
  37. FIN
  38. Info(sTitle)
  39. //Balise de <commande>
  40. XMLRacine("DocXMLDescription" )
  41. //Boucle qui liste tous les produits d'une commande
  42. TANTQUE XMLEnDehors("DocXMLDescription" ) = Faux
  43.  //Balise de <produit>
  44.  XMLFils("DocXMLDescription" )
  45.  //balise de <reference>  
  46.  XMLFils("DocXMLDescription" )
  47.  sReference est une chaîne = (XMLDonnée("DocXMLDescription" ))
  48.  //Balise de <désignation>  
  49.  XMLSuivant("DocXMLDescription" )
  50.  sDesignation est une chaîne = (XMLDonnée("DocXMLDescription" ))
  51.  //Balise de <quantite>  
  52.  XMLSuivant("DocXMLDescription" )
  53.  rquantite est une réel = (XMLDonnée("DocXMLDescription" ))
  54.  //Balise <total> ( total d'un produit)
  55.  XMLSuivant("DocXMLDescription" )
  56.  rTotal est un réel = (XMLDonnée("DocXMLDescription" ))
  57. FIN
  58. //On remonte a la balise parent qui est <produit>
  59. XMLParent("DocXMLDescription" )
  60. //on descend à la balise <sousTotal>
  61. XMLSuivant("DocXMLDescription" )
  62. rSoustotal est une réel = (XMLDonnée("DocXMLDescription" ))
  63. //Balise <escompte>
  64. XMLSuivant("DocXMLDescription" )
  65. rEscompte est un réel = (XMLDonnée("DocXMLDescription" ))
  66. //Balise <livraison>
  67. XMLSuivant("DocXMLDescription" )
  68. rLivraison est un réel = (XMLDonnée("DocXMLDescription" ))
  69. //Balise <Taxe>
  70. XMLSuivant("DocXMLDescription" )
  71. rTaxe est un réel = (XMLDonnée("DocXMLDescription" ))
  72. //Balise <totalTTC>
  73. XMLSuivant("DocXMLDescription" )
  74. rTotalTCC est un réel = (XMLDonnée("DocXMLDescription" ))
  75. XMLTermine("DocXMLDescription" )
  76. FIN
  77. //Arrete le traitement de la feuille XML
  78. XMLTermine("DocXML" )

:
la source XML/RSS

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  3.   <channel>
  4.     <title><![CDATA[New Orders]]></title>
  5.     <link>****</link>
  6.     <description><![CDATA[New Orders]]></description>
  7.     <pubDate>Wed, 25 Jun 2008 12:25:51 +0000</pubDate>
  8.     <generator>Zend_Feed</generator>
  9.     <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  10.     <item>
  11.       <title><![CDATA[Order #100000007 created at 24/06/08]]></title>
  12.       <link>*****</link>
  13.       <description><![CDATA[
  14. <commande> <produit>
  15.           <reference>           ****         </reference>             <designation>              *****             </designation>             <quantite>              1
  16.              </quantite>             <total>                           </total>               
  17. </produit>             <soustotal>     37.2100             </soustotal>         
  18.           <escompte>      </escompte>    <livraison>                   10.0000 
  19.                 </livraison>        <taxe>                      9.2500                </taxe>    <totalTTC>              56.4600             </totalTTC>
  20. </commande>]]></description>
  21.       <pubDate>Wed, 25 Jun 2008 12:25:51 +0000</pubDate>
  22.     </item>
  23.     <item>
  24.       <title><![CDATA[Order #100000006 created at 21/06/08]]></title>
  25.       <link>******</link>
  26.       <description><![CDATA[
  27. <commande> <produit>
  28.           <reference>           ****          </reference>             <designation>              *****            </designation>             <quantite>              1
  29.              </quantite>             <total>                           </total>               
  30. </produit>             <soustotal>     25.0000             </soustotal>         
  31.           <escompte>      </escompte>    <livraison>                   10.0000 
  32.                 </livraison>        <taxe>                      6.8600                </taxe>    <totalTTC>              41.8600             </totalTTC>
  33. </commande>]]></description>
  34.       <pubDate>Wed, 25 Jun 2008 12:25:51 +0000</pubDate>
  35.     </item>
  36.   </channel>
  37. </rss>

:P

Reply

Marsh Posté le 25-06-2008 à 17:15:55   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed