Bonjour,

je suis en galère depuis quelques temps avec cette solution. Je souhaite lire un fichier XML pour l'écrire dans un fichier word. Sachant que je dois créer un nouveau fichie a chaque fois que j'exécute mon programme.

voici mon code:

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
35
36
37
38
39
 
Private Sub OpenXML()
        Dim sDateToDay As String = Date.Today.ToString("ddMMyyyy")
        Dim s_chemin As String = "C:\Users\m.bignon\Documents\ADEME"
        Dim monStreamReader As System.IO.StreamReader = New System.IO.StreamReader(s_chemin & "\Referentiel_ADEME.xml")
        Dim monStreamWriter As System.IO.StreamWriter = New System.IO.StreamWriter(s_chemin & "\Model_Referentiel_Pricipal_ADEME_" & sDateToDay & ".dotm", False)
        'Lecture de toutes les lignes et affichage de chacune sur la page                           
        Dim xmlDoc As XmlDocument = New XmlDocument()
        xmlDoc.Load(s_chemin & "\Referentiel_ADEME.xml")
        Dim configElements As XmlNodeList = xmlDoc.GetElementsByTagName("Metadonnes")
        Dim noeud As XmlNode
        Dim NomGroupe As String = ""
        Dim GroupeFormate As String = ""
        Dim sTitre As String = ""
        'On vas afficher les info des éléments                
        For Each noeud In configElements
            'On récup les info des balises                    
            For Each noeudEnf In noeud.ChildNodes
                Select Case noeudEnf.LocalName
                    Case "Groupe"
                        If NomGroupe <> noeudEnf.InnerText Then
                            NomGroupe = noeudEnf.InnerText
                            monStreamWriter.WriteLine("")
                            'Ecrire dans le fichier en gras et souligné
                            GroupeFormate = NomGroupe.ToUpper()
                            monStreamWriter.WriteLine(GroupeFormate)
                        End If
                    Case "Titre"
                        sTitre = noeudEnf.InnerText
                        monStreamWriter.WriteLine(sTitre)
                End Select
            Next
        Next
        'Fermeture du StreamReader            
        monStreamReader.Close()
        monStreamWriter.Flush()
        monStreamWriter.Close()
        monStreamWriter.Close()
    End Sub
Mon souci c'est que mon fichier ne s'ouvre pas, il met une erreur comme quoi mon fichier est endommagé, j'ouvre le fichier avec notePad++ et là surprise mes données sont bien écrite. Pouvez-vous m'aider ?

cordialement,
un galèrien