Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1675 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Parcours XML + boucle : WINDEV

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parcours XML + boucle : WINDEV

n°1751248
Roken
Acheteur Compulsif !
Posté le 25-06-2008 à 17:15:55  profilanswer
 

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

mood
Publicité
Posté le 25-06-2008 à 17:15:55  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Parcours XML + boucle : WINDEV

 

Sujets relatifs
BD XML eXist et XQueryProblème avec XML::Simple
probleme de boucle pourXML_C++
probleme avec une boucle if en cshellUn petit batch avec boucle / Call / parametre et condition
Mappage XML sous Excel[Windev] Intégration de fichier texte venant d'un tab sage dans un HF
Boucle whichParser un fichier XML
Plus de sujets relatifs à : Parcours XML + boucle : WINDEV


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR