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:
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 ?
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
cordialement,
un galèrien
Partager