Salut
Je ne suis pas trop fort en XML et je rencontre un souci pour faire des imbrications.
Voici l'exemple de ce que je dois faire :
Et le code que j'emploi pour l'instant<listepa>
<annonce>
<reference>TASAS1254</reference>
<contrat>xxxxxxx</contrat>
<produit>1</produit>
<liste_titres>
<titre>
<societe>11</societe>
<jx>027</jx>
</titre>
</liste_titres>
<liste_photos>
<photo>/photos/photo_81220_1.jpg</photo>
<photo>/photos/photo_81220_2.jpg</photo>
</liste_photos>
<texte>Terrain situ? dans le bourg. 600m? environ. Viabilis? expos? Est. Plusieurs lots disponible. Faire tr?s vite</texte>
<rubrique>511000</rubrique>
<pays>France</pays>
<ville>PARIS</ville>
<postal>75002</postal>
<prix>55000</prix>
<tel_agence>01 40 63 37 38</tel_agence>
<complements>
<CH>0</CH>
<B>0</B>
<AN></AN>
</complements>
</annonce>
</listepa>
Alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim sqlCom As SqlCommand = New SqlCommand("SELECT * FROM Annonce", conConnex) Dim Adapteur As SqlDataAdapter = New SqlDataAdapter(sqlCom) Dim oCommandBuilder As New SqlCommandBuilder(Adapteur) Dim ds As New DataSet Dim toto As New StreamWriter(ficXML, True, codage) Adapteur.Fill(ds) ds.DataSetName = "listepa" ds.Tables(0).Prefix = "annonce" ds.WriteXml(toto)
<listepa> c'est le fichier en entier, j'ai réussi avec le ds.DataSetName.
<annonce> faudrait que je trouve comment travailler le nom de la table du DS
Mon plus gros problème, pour l'instant se trouve sur <liste_titres> et <complements>. J'ai essayé de faire des balises XML dans ma requête, mais le résultat n'est pas trés bon.
Enfin, pour <liste_photos> c'est carrément l'enfer car j'ai une fonction qui va interroger l'existance d'un fichier JPG sur le disque en fonction de l'ID de l'annonce, donc pas du tout par SQL, amis bon, ça peut être traiter dans un autre topic, plus tard.
Pouvez vous m'aider à mettre en place le DataSet qui va bien. Je n'ai jamais fait de DS avec plusieurs tables et encore moins avec des tables qui doivent s'imbriquer. Et en plus, dans la base de donnée, tout est dans une seule table. Bilan, je ne sais même pas par où commencer.
Merci d'avance.
Partager