XML parcour d'un fichier XML sous Windev

XML parcour d'un fichier XML sous Windev - Divers - Programmation

Marsh Posté le 13-07-2005 à 15:35:46    

//Appel de ma procédure d'affichage de mon service WEB
aff_prod()
 
SourceXML est une chaîne
//Chargement du contenu XML
SourceXML = fChargeTexte(aff_prod())
XMLDocument("DocXML2", aff_prod())
 
 
//Création du document XML
SI ErreurDétectée ALORS
 Erreur("Le document n'est pas au format XML" )
FIN
 
XMLPremier("DocXML2" )
TANTQUE PAS XMLEnDehors("DocXML2" ) //Boucle pour l'affichage de mon contenue  
de fichier XML
 //Recherche de mes valeurs
 XMLRecherche("DocXML2", "id_produit", XMLBalise)
 SI XMLTrouve("DocXML2" ) ALORS
idproduit = XMLDonnée("DocXML2" )  FIN
 XMLRecherche("DocXML2", "ref_produit", XMLBalise)
 SI XMLTrouve("DocXML2" ) ALORS
  refproduit= XMLDonnée("DocXML2" )
  FIN
 XMLRecherche("DocXML2", "designation_produit", XMLBalise)
 SI XMLTrouve("DocXML2" ) ALORS
 Info(Table.designation_produit = XMLDonnée("DocXML2" ))  FIN
 
 Affichage des données
 Info("Numéro de commande : " + idproduit, "refproduit : " + ...
 refproduit, "desingation produit : " + designationproduit)
 
 XMLSuivant("DocXML2" )
 
FIN
 
XMLtermine("DocXML" )
 
Voici mon code pour faire la lecture d'un fichier XML que me renvoie un  
procédure d'affichage stocké dans un service WEB dotnet développé en VB.net,  
j'ai regarder dans l'aide de windev 7.5 et j'ai repris la procédure d'ecrite  
pour réaliser un parcour de fichier et récupéer les valeurs id_produit,  
ref_produit, designation_produit.
j'ai regarder dans les postes des newsgroup et je n'ais pas trouver  
d'exemple ou de personne ayant eu le même problème
sinon je précise que je suis un débutant dans le développent d'application  
sous windev, merci de votre tolérance :)
 
Mon problème :
il ne parcoure pas le fichier il ne m'affiche que les premières valeurs de  
mon fichier (celle avec l'idée 0) quelqu'un peut-il me dire si il y une  
erreur dans mon code Windev...
Merci
 
 
 
Ci-dessous mon fichier XML
------------------------------------
 
 
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
  <xs:schema id="NewDataSet" xmlns=""  
xmlns:xs="http://www.w3.org/2001/XMLSchema"  
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true"  
msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ref_produit" type="xs:string"  
minOccurs="0" />
                <xs:element name="designation_produit" type="xs:string"  
minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"  
xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    <NewDataSet xmlns="">
      <Table diffgr:id="Table1" msdata:rowOrder="0">
        <ref_produit>a88784589998</ref_produit>
        <designation_produit>Serviette de bain</designation_produit>
      </Table>
      <Table diffgr:id="Table2" msdata:rowOrder="1">
        <ref_produit>a12</ref_produit>
        <designation_produit>gants N?2</designation_produit>
      </Table>
      <Table diffgr:id="Table3" msdata:rowOrder="2">
        <ref_produit>a13</ref_produit>
        <designation_produit>gants N?13</designation_produit>
      </Table>
      <Table diffgr:id="Table4" msdata:rowOrder="3">
        <ref_produit>a13</ref_produit>
        <designation_produit>gants N?13</designation_produit>
      </Table>
      <Table diffgr:id="Table5" msdata:rowOrder="4">
        <ref_produit>a13</ref_produit>
        <designation_produit>gants N?13</designation_produit>
      </Table>
      <Table diffgr:id="Table6" msdata:rowOrder="5">
        <ref_produit>a15 6</ref_produit>
        <designation_produit>produit N15</designation_produit>
      </Table>
      <Table diffgr:id="Table7" msdata:rowOrder="6">
        <ref_produit>pouet</ref_produit>
        <designation_produit xml:space="preserve" />
      </Table>
      <Table diffgr:id="Table8" msdata:rowOrder="7">
        <ref_produit>pouet</ref_produit>
        <designation_produit>poutskjhskjhskjskjsh</designation_produit>
      </Table>
      <Table diffgr:id="Table9" msdata:rowOrder="8">
        <ref_produit>Test</ref_produit>
        <designation_produit>tezearezerazerazerazer</designation_produit>
      </Table>
      <Table diffgr:id="Table10" msdata:rowOrder="9">
        <ref_produit>Benoti</ref_produit>
        <designation_produit>benoit</designation_produit>
      </Table>
      <Table diffgr:id="Table11" msdata:rowOrder="10">
        <ref_produit>test</ref_produit>
        <designation_produit>test</designation_produit>
      </Table>
    </NewDataSet>
  </diffgr:diffgram>
</DataSet>
 

Reply

Marsh Posté le 13-07-2005 à 15:35:46   

Reply

Marsh Posté le 13-07-2005 à 15:55:15    

Il n'ont pas les fonctions DOM standardisée, dans WinDev ?

Reply

Marsh Posté le 13-07-2005 à 16:06:15    

Désolé mais je débute avec Windev, mais c quoi c fonctions DOM ???

Reply

Marsh Posté le 13-07-2005 à 16:09:15    

Ce sont une suite de fonctions, méthodes et classes, standardisées par le W3C, qui permettent d'accèder, de lire, de modifier un document XML. Et la majorité des langages l'implémentent. On les trouves par exemple en .NET, en JavaScript, en PHP, etc. Ca permet d'utiliser toujours les même fonctions, quelque soit le langage...

Reply

Marsh Posté le 13-07-2005 à 16:11:47    

ben je connais pas, moi j'ai repris les fonctions XML de Windev pour essayer de parcourir le fichier...
Je vais chercher des info pour les DOM, mais si tu a des sites a me conseiller n'hesite pas a me les donner

Reply

Marsh Posté le 13-07-2005 à 16:49:14    

Moi je te conseillerais d'éviter windev tant que tu ne maitrises pas les langages concernés par toi meme ...
 
Enfin c'est qu'un conseil, mais bon, c'est parce que je plains les entreprises qui payent une licence pour cette usine à gaz (bien pratique pour de petits projets, pas assez propre et maintenable pour des projets plus grandsà.


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 13-07-2005 à 16:56:00    

Oui mais dans mon cas, je suis en stage et on m'a demander d'élaborer un exemple de service web et d'interface windev consomant se service et je n'ais pas eu trop le choix, si j'avais eu a choisir il est claire que je n'aurais pas employé windev, Un vrais language comme le C, Java, ou même un C# ou VB aurais était plus pratique qu'un language de merde comme windev.  
voila, mais quoi qu'il en soit dans le monde de l'entreprise et qui plus est quand on n'est Stagiaire ingénieur, on n'a pas obligatoirement le choix du language de travail...
 
mais bon même si je ne crache pas sur le faite de cracher sur Windev... tout se petit blabla ne me fournie pas de solution à mon problème. :) ;)

Reply

Marsh Posté le 18-03-2011 à 23:26:33    

En fait c'est plus simple que cela.
tu importes le XML dans l'éditeur (partie XML de l'explorateur de projet), tu initialises ton XML en déclarant un objet XMLDocument et ensuite tu le parcours avec les commandes POUR TOUT ...
 
Tu as des exemples sur cette page :
http://doc.pcsoft.fr/fr-FR/?100001 [...] nt-exemple
 
 
www.freedev.eu

Reply

Marsh Posté le 18-03-2011 à 23:27:42    

félicitation, tu gagnes la pelle d'or du jour [:florentg]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 29-04-2012 à 14:24:40    

Sinon, il est possible de charger un fichier XML dans une structure arborescente de type DOM avec cette méthode, sans avoir à passer par l'éditeur :  
 
http://www.developpez.net/forums/d [...] moire-dom/
 

Reply

Sujets relatifs:

Leave a Replay

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