Fabriquer un fichier XML avec des imbrications
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 :
Citation:
<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>
Et le code que j'emploi pour l'instant
Code:
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) |
Alors :
<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.