Modifier CSV pour export XML
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 :
Code:
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 |
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.
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.