Alors, je n'avais pas vu votre premier message sur la discussion, mais juste celui de joel.drigo.
Donc j'ai bien compris que tu n’étais pas dans ma tête mais sans avoir lu ton premier message, je ne peux pas répondre. Je n'ai pas reçu de notification de ta réponse.
Donc je ré-explique globalement.
PREMIEREMENT
Je suis en train de créer un programme Java, qui génère un fichier XML en fonction des choix que l'on fait sur interface graphique.

Une interface qui ressemble à celle ci, si on choisit telle valeur de la liste déroulante, alors dans le fichier XML ça mets telle valeur. Par exemple, je choisis : Element 1 alors ça écrit <truc bidule="1"> et je choisis Element 2 alors ça écrit <truc bidule="2">.
Dans un premier point voila.
DEUXIÈMEMENT
Le second point est que je dois créer un second fichier XML.
Ce fichier XML ressemble à ceci :
1 2 3 4 5
| <?xml version="1.0" encoding="UTF-8"?><conf>
<param id="0" name="truc" value="0"/>
<param id="1" name="much" value="1"/>
<param id="2" name="blabla" value="2"/>
<param id="3" name="toto" value="3"/> |
Cependant, ce fichier va jusqu'a <param id="460" name ="..." value="4"/>
Voici ma façon de créer mon fichier XML :
1 2 3 4 5 6 7 8 9 10 11 12 13
| DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document xml = builder.newDocument(); //Création du fichier
Element root = xml.createElement("conf"); //Création de notre élément racine
//LES 5 LIGNES SUIVANTES SONT POUR UNE SEULE LIGNE DU FICHIER XML
Element param0 = xml.createElement("param");
root.appendChild(param0);
param0.setAttribute("id", "0");
param0.setAttribute("name", dtParam1); //Valeur EXCEL
param0.setAttribute("value", dt101); //Valeur Jtextfield |
Les 65 premières lignes XML avaient des valeurs modifiables, j'ai donc représenter ceci via une IHM :

Lors de l'appui sur le bouton, mon fichier XML se crée et se remplis avec les valeurs des jTextField.
Cependant, ceci marchait pour 65 lignes, et non 460 lignes. Je devais donc faire ceci pour 395 autres lignes :
1 2 3 4 5
| Element param0 = xml.createElement("param");
root.appendChild(param0);
param0.setAttribute("id", "0");
param0.setAttribute("name", dtParam1); //Valeur EXCEL
param0.setAttribute("value", dt101); //Valeur Jtextfield |
Sauf que c'est très long, fastidieux et chiant.
Je cherchais donc une solution pour que les 395 lignes (qui existent déjà au format XML) puissent être écrites dans le fichier XML simplement sans trop de ligne.
Là ton programme, il lit un fichier ligne par ligne, puis réécrit la même chose à l'identique dans un autre fichier. Et il ne fait rien d'autre que ça. Ce n'est probablement pas utile. Où espérais-tu aller avec ça ?
Ce que j'espérais c'est que le programme lises le fichier avec les 395 lignes pour qu'il les ré-écrives ensuite dans le fichier que je venais de créer.
Alors, euh... Texte ou XML ? Pourquoi des fois tu parles de texte et des fois de XML ?
Et bien je parle de fichier Texte car on m'as dis "tu prends ton fichier texte et tu écris ce fichier dans ton fichier XML" en gros.
Cependant, joel.drigo m'as dis que c'était non stable et autre. J'ai donc entrez mes valeurs dans un fichier Excel, et grâce à un ensemble de petites formules CONCATENER (DANS EXCEL) j'ai pu générer mes lignes de commandes Java pour ensuite faire un copier coller.
Par exemple :
=CONCATENER(".setAttribute(""name"",""";B1;""")";";")
ou encore
=CONCATENER(".setAttribute(""value"",""";C1;""")";";")
MAINTENANT que j'ai générer tout mon code (dans les 5 lignes de code pour un ligne XML), il fallait le mettre dans Java. Je l'ai donc mis à suivre des autres créations de lignes pour ce même fichier XML.
Étant donnée que j'avais plus de 5000 lignes de code dans ma méthode, alors dès le lancement ça bloquait et ça me mettais l'erreur que j'ai déjà diffusé. Je me suis renseigné et le problème était qu'une méthode ne peux pas contenir autant de programme. J'ai réussi à me débrouiller pour passez à côté de cette erreur.
Partager