Bonjour,
Pour le contexte qui a son importance, je suis plutôt débutant en VB.NET bien qu'à force de lire les différents Tutoriels ou les réponse pertinentes sur le Forum ça commence à rentrer ...
Bref, je cherche à convertir un fichier CSV sous la forme (Nom;Date;Masse) en fichier XML.
J'ai réussi aprés de nombreuses heures sur Internet à le faire partiellement avec le code suivant :
Le problème maintenant à résoudre est que je voudrais traiter les champs de mon fichier CSV avant de les basculer dans le fichier XML.
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 ObjetXML() Dim CheminFichierSource As String = "C:/Test.csv" 'Chemin du fichier CSV Dim CheminFichierXML As String = "C:/Test.xml" 'Chemin du fichier XML Dim TexteCSV As String() 'Texte du Fichier source Dim StructureXML As XElement 'Structure XML du Fichier XML à générer 'Déclarer le flux de fichier en mode "Création" (Fichier XML) pour écraser éventuellement 'le fichier qui porterait le même nom (partir d'un fichier vide avant son remplissage) 'puis le fermer Dim CreerFichierXML As New FileStream(CheminFichierXML, FileMode.Create) CreerFichierXML.Close() 'Affecter à la variable "TexteCSV" le contenu du Fichier source TexteCSV = File.ReadAllLines(CheminFichierSource) 'Déclarer le flux de fichier en mode "Ecriture" (Fichier XML) Dim EcrireFichierXML As New StreamWriter(CheminFichierXML) 'Affecter à la variable "StructureXML" la structure XML du Fichier XML à générer StructureXML = _ <Root> <%= From strs In TexteCSV _ Let fields = Split(strs, ";") _ Select _ <Objet> <Nom><%= fields(0) %></Nom> <DateYYMMDD><%= fields(1) %></DateYYMMDD> <MasseTonne><%= fields(2) %></MasseTonne> </Objet> %> </Root> 'Ecrire le fichier XML puis fermer le fichier EcrireFichierXML.WriteLine(StructureXML) EcrireFichierXML.Close() End Sub
En effet dans mon fichier CSV, le format date est "DD/MM/YY" et le format masse est "xxxxKg". Moi je voudrais les transférer dans un format différent ("YYYY-MM-DD" et "X Tonne").
Merci à ceux qui ont pris le temps de lire mon Post jusqu'au bout et à ceux qui peuvent m'aider.
Partager