Bonjour, je souhaite convertir une base de données Access en fichier Xml.
L'idée de générer un fichier Xml par table présente dans la base de données.
J'ai donc une fonction qui à une DataTable en paramètre et qui est censée parcourir chaque ligne de la table. Le problème est que je n'arrive pas à entrer dans ma boucle For Each.
voici mon code pour l'instant :
J'obtiens bien des fichiers Xml mais vides...
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Public Function createXml(ByVal maTable As DataTable) ' création du fichier Dim FileXML As New System.IO.StreamWriter(My.Settings.RepSortie & "\" & maTable.TableName & ".xml", False, System.Text.Encoding.UTF8) ' déclaration du fichier xml Dim XmlDoc As Xml.XmlDocument = New Xml.XmlDocument() ' création du document XmlDoc.LoadXml("<" & maTable.TableName.ToString & ">" & "</" & maTable.TableName.ToString & ">") Dim nbColonne As Integer = maTable.Columns.Count Dim uneLigne As DataRow Dim mesLignes As DataRowCollection mesLignes = maTable.Rows ' !!!!!!!! le problème c'est ici !!!!!!!!!!! For Each uneLigne In mesLignes ' ElemRef pour le noeud [Ref][/Ref] Dim elemRef As Xml.XmlElement elemRef = XmlDoc.CreateElement(uneLigne(0).ToString) Dim elem(nbColonne) As Xml.XmlElement For i As Integer = 1 To (nbColonne - 1) elem(i) = XmlDoc.CreateElement(uneLigne(i).ToString) elemRef.AppendChild(elem(i)) Next XmlDoc.DocumentElement.AppendChild(elemRef) Next 'Enregistrement du fichier Xml XmlDoc.Save(Application.StartupPath & maTable.TableName & ".XML") MsgBox("Enregistrement réussi pour la table " & maTable.TableName) Return FileXML End Function
Quelqu'un voit où est le problème ?
Partager