Bonjour,
Je souhaite effectuer un export simple d'une liste(requête) sous la forme xml.
J'ai fait un programme de la manière suivante:
1 - Création d'un fichier XSD:
2 - Création d'un requête SQL pour l'alimentation du XML
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="achat_veau"> <xsd:complexType> <xsd:sequence> <xsd:element name="acv_id" type="xsd:integer"/> <xsd:element name="frn_id" type="xsd:integer"/> <xsd:element name="ach_id" type="xsd:integer"/> <xsd:element name="acv_date" type="xsd:date"/> <xsd:element name="acv_ligne" type="xsd:integer"/> <xsd:element name="acv_boucle_traduit" type="xsd:string"/> <xsd:element name="acv_prix" type="xsd:double"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
3 - Parcours de la requête SQL avec création du XML
Mon problème est que ça ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 // BOUCLE DE PARCOURS DE L'ENSEMBLE DES ACHAT VEAUX A TRANSFERER HExécuteRequête(REQ_SELECT_Achat_veau_A_Envoyer,hRequêteDéfaut) HLitPremier(REQ_SELECT_Achat_veau_A_Envoyer) TANTQUE HTrouve(REQ_SELECT_Achat_veau_A_Envoyer) cMonDoc.achat_veau.acv_id[i] = REQ_SELECT_Achat_veau_A_Envoyer.acv_id cMonDoc.achat_veau.frn_id[i] = REQ_SELECT_Achat_veau_A_Envoyer.frn_id cMonDoc.achat_veau.ach_id[i] = REQ_SELECT_Achat_veau_A_Envoyer.ach_id cMonDoc.achat_veau.acv_date[i] = REQ_SELECT_Achat_veau_A_Envoyer.acv_date cMonDoc.achat_veau.acv_ligne[i] = REQ_SELECT_Achat_veau_A_Envoyer.acv_ligne cMonDoc.achat_veau.acv_boucle_traduit[i] = REQ_SELECT_Achat_veau_A_Envoyer.acv_boucle_traduit cMonDoc.achat_veau.acv_prix[i] = REQ_SELECT_Achat_veau_A_Envoyer.acv_prix i++ HLitSuivant(REQ_SELECT_Achat_veau_A_Envoyer) FIN HLibèreRequête(REQ_SELECT_Achat_veau_A_Envoyer)
J'utilise mal les fonctions XML Windev je pense.
La solution ci-dessous fonctionne si j'ai une seul ligne mais pas plusieurs lignes dans le résultat de la requête.
Merci d'avance de votre aide.
Partager