XML parcour d'un fichier XML sous Windev - Divers - Programmation
Marsh Posté le 13-07-2005 à 15:55:15
Il n'ont pas les fonctions DOM standardisée, dans WinDev ?
Marsh Posté le 13-07-2005 à 16:06:15
Désolé mais je débute avec Windev, mais c quoi c fonctions DOM ???
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...
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
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à.
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.
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
Marsh Posté le 18-03-2011 à 23:27:42
félicitation, tu gagnes la pelle d'or du jour
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/
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>