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:
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>
2 - Création d'un requête SQL pour l'alimentation du XML

3 - Parcours de la requête SQL avec création du XML
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)
Mon problème est que ça ne fonctionne pas.
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.