|
|
|
|
Bonjour,
J'ai un fichier txt qui regroupe diverses informations concaténées (N°article, date...), cependant, il n'est pas utilisable tel quel dans une application, je dois le modifier, c'est à dire séparer et spécifier chaque informations et enregistrer le tout dans un fichier xml.
Je dois absoluement le faire sur JAVA, cependant mes connaissances sont faibles.
J'ai réussi à ouvrir et copier un fichier txt dans un autre.
Mais je n'arrive pas à récupérer une partie du fichier txt et complété le fichier xml.
Pour etre plus claire, mon fichier txt se présente comme ça:
NA00541100101498 MONTAGE SUSPENSION PRIMAIRE
...
Je voudrais un fichier xml comme ça:
<VALUE attributeName="Index marché" type="Simple" value="NA" />
<VALUE attributeName="Numéro bordereau" type="Simple" value="00054" />
<VALUE attributeName="Titre Documents" type="Simple" value=" MONTAGE SUSPENSION PRIMAIRE" />
...
Quelqu'un peut m'aider????
Configuration: Windows XP Internet Explorer 6.0
Bonjour,
|
Tiens j'ai écris ça vite fait :
public class Test{
public static void main(String[] args){
//le fichier texte
String fichier ="fichiertexte.txt";
//le fichier XML
String fichierXML ="fichierXML.xml";
//les attributs à insérer dans le xml
String index = "";
String bordereau = "";
String titre = "";
try{
//fichier en lecture
InputStream ips=new FileInputStream(fichier);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader flux=new BufferedReader(ipsr);
//fichier en écriture
FileWriter fw = new FileWriter (fichierXML);
BufferedWriter bw = new BufferedWriter (fw);
PrintWriter fichierSortie = new PrintWriter (bw);
String ligne;
//on lit chaque ligne du fichier texte une par une
while ((ligne=flux.readLine())!=null){
//On lit les 2 premiers caractères : comme dans ton exemple "NA"
index = ligne.substring(0, 1);
//On lit les 10 caractères suivants
bordereau = ligne.substring(2, 11);
//La fin de la ligne
titre = ligne.substring(12);
fichierSortie.print("<VALUE attributeName=\"Index marché\" type=\"Simple\" value=\"");
fichierSortie.print(index);
fichierSortie.println("\">");//le println pour aller à la ligne
fichierSortie.print("<VALUE attributeName=\"Numéro bordereau\" type=\"Simple\" value=\"");
fichierSortie.print(bordereau);
fichierSortie.println("\">");
fichierSortie.print("<VALUE attributeName=\"Titre Documents\" type=\"Simple\" value=\"");
fichierSortie.print(titre);
fichierSortie.println("\">");
}
//On ferme les flux
flux.close();
fichierSortie.close();
}
catch (IOException e){
e.printStackTrace();
// ou System.out.println("le message d'erreur que l'on souhaite");
}
}
}
à toi de tester, je ne sais pas du tout si ça marche j'ai pas eu le temps de tester mais bon ça peux ptet t'aider à comprendre. Bon courage. |
Merci pour ton bout de code, il marche très bien!!!
|
Rien!! C'est peut-être le problème!!
|
Salut!
|
Je peux pas te répondre avec certitude j'ai jamais trop fait de XSL (1h de cours il y a longtemps).
|
Si c'est juste pour créer un fichier xml il ne doit pas avoir cette erreur par ce que pour moi cela doit venir d'une feuille de style(XSL).Depuis tout à l'heure j'essaie de t'aider mais tu n'es pas assez claire tu veux afficher ton fichier xml où?sur le terminal?si c'est cela je vois pas le problème cela se fait tout simplement comme la lecture d'un fichier : tant qu'on est pas à la fin du fichier afficher tout son contenu tout en respectant sa structure.
|
J'ai résolu mon problème de feuille de style (ou presque).
flux.close(); fichierSortie.close(); Une petite idée????
|
Faut mettre un "/ à la fin de chaque balise :
|