begin process at 2010 02 10 11:47:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

pb avec les lignes d'un code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb avec les lignes d'un code

mardi 23 mai 2006 à 14:55:14 | pb avec les lignes d'un code

kaninama

Je parsse un document XML avec JDOM, je récupère les élément un par un avec une récursive je calcule leur nombre et en même temps je dois traiter le texte contenu dans chaque n½uds j'ais réalisé cela mais dé que j'ajoute les ligne de code pour le traitement du texte de l'élément le calcule du nombre d'élément est faux, et mon programme n'accède plus au élément du deuxième niveau du document , j'espère que vous comprenez a peu prés mon pb je vous donne une partie de mon code et les lignes qui me cause ce pb sont ont commentaire et on rouge
Code :
//.... ......... public void traitement(Element e) { //........on liste les fils de l'element donner.............// List listelement2=e.getChildren(); nombre_element=nombre_element+listelement2.size();//pour le calcule du nombre d'element le niveau2 //........si il n'a d'element fils on le traite............// if( listelement2.size()==0) { e.getText(); //....je calcule le poids de chaque terme dans l'element .....// contenu=e.getText(); StringTokenizer st = new StringTokenizer(contenu); /* while(st.hasMoreTokens()) { String motentré=st.nextToken(); if (motentré.length() > 7) motentré = motentré.substring(0, 7);//c'est un simple traitement du mot if(al.contains(motentré)) poid[al.indexOf(motentré)]++; else { al.add(motentré); poid[al.indexOf(motentré)] = 1; } }*/ //....fin de calcule du poids des termes d'un element.....// } //........et pour chaque objet de la liste ..............// for(int cpt=0;cpt<listelement2.size();cpt++) { //...on verifie si les elements de la liste on des sous elments....// Element courant=(Element)listelement2.get(cpt); // System.out.println(courant.getName()); // System.out.println(courant.getText()); if(courant.getChildren()==null) courant.getText(); //il faut mettre la methode de calcule du poids //.....et si il a des elements fils on applique de nouveau la fonction .... else { traitement(courant); }//fin de else }//fin de for } ......// La suite du code

Si quelqu'un a n'importe qu'elle idée sur la solution qu'il n'hésite surtout pas a me la faire partager

Merci a vous tous
Remarque
Les ligne qui me cause pb marche très bien quant il sont seul c'est-à-dire j'ai fait rentré un simple texte et j'ai tester le fonctionnement de ces lignes ça marche très bien
mardi 23 mai 2006 à 15:23:46 | Re : pb avec les lignes d'un code

kaninama

je ne sais ce qui est arrivé a mon poste mais je vous repose mon pb 

 Je parsse un document XML avec JDOM, je récupère les élément un par un
avec une methode récursive je calcule leur nombre et en même temps je dois traiter
 le texte contenu dans chaque n½uds j'ais réalisé cela mais dé que j'ajoute les ligne
 de code pour le traitement du texte de l'élément le calcule du nombre d'élément est faux,
et mon programme n'accède plus au élément du deuxième niveau du document ,
 j'espère que vous comprenez a peu prés mon pb
je vous donne une partie de mon code
les lignes qui me cause ce pb sont ont commentaire et on rouge

public void button1_actionPerformed(ActionEvent e) {

        this.getContentPane().repaint();

        JFileChooser chooser = new JFileChooser(".");

                chooser.setDialogType(JFileChooser.OPEN_DIALOG); // FileChooser personnalisé
                chooser.setAcceptAllFileFilterUsed(false); // ne pas offrir l'option "tous les fichiers"
                chooser.setDialogTitle("Selection d'un document XML ");

                FileFilter f = new FiltreFichierXml();
                chooser.addChoosableFileFilter(f); // on ajoute le filtre
                chooser.showOpenDialog(null);
                document_choisi = chooser.getSelectedFile();//le fichier selectionner
                label1.setText(document_choisi.getName());
    }

    public void button2_actionPerformed(ActionEvent e) {
        SAXBuilder builder = new SAXBuilder();
                                try {

                                     //OutputStream sortie=new FilterOutputStream(sortie);

                                      Document document=  builder.build(document_choisi);//parser le document choisi
                                      Element racine = document.getRootElement();// recuperer l'element racine


                                 System.out.println(racine.getChildren());// un simple teste
                                 System.out.println(racine.getName());// sa ne marche pas
                                 //XMLOutputter x =new XMLOutputter() ;//il est utiliser pour l'affichage du tableau
                                 // x.outputElementContent(element,f);//pour afficher le contenu d'un element

                      //.......pour le traitement du contenu de la racine.............//
                          System.out.println(racine.getText());// elle ne marche pas
                          List descendants_document = racine.getChildren();
                          nombre_element=descendants_document.size();//...pour le calcule du nombre d'elment c'est le 1er niveau
                          Iterator i=descendants_document.iterator();
    //....un while pour avoir les autres element du document.........//
                                     while(i.hasNext())
                                     {
                                        Element courant =(Element)i.next();
                                        System.out.println(courant.getText()); //pour le traitement du texte de l'element courant   
                                       if (courant.getChildren()!=null)
                                       {  
                                           traitement(courant); //fin de if
                                          
                                       }
                                   //si l'élément n'a pas de fils on le traite on son fou
                                     
                                     }//.....fin de while......

                                } catch (Exception exception) {

                        }
        //.......le calcule du nombre d'element dans le document ......//
              String Nelement=new String();
              textField1.setText( Nelement.valueOf(nombre_element));// le calcule est juste
    }     //..........fin du calcule ........//
    //.....la methode recursive pour recupéré et traiter tt les elements du document et pour les traiter tous......//
    public void traitement(Element e)
    {
        //........on liste les fils de l'element donner.............//
                  List listelement2=e.getChildren();
       nombre_element=nombre_element+listelement2.size();//pour le calcule du nombre d'element le niveau2
        //........si il n'a d'element fils on le traite............//
        if( listelement2.size()==0)
        { e.getText();
     //....je calcule le poids de chaque terme dans l'element .....//
         contenu=e.getText();
         StringTokenizer st = new StringTokenizer(contenu);
       /*  while(st.hasMoreTokens()) {
                   String motentré=st.nextToken();
                        if (motentré.length() > 7)
                       motentré = motentré.substring(0, 7);//c'est un simple traitement du mot

                       if(al.contains(motentré))
                             poid[al.indexOf(motentré)]++;
                       else {
                             al.add(motentré);
                       poid[al.indexOf(motentré)] = 1;
                   }

               }*/


    //....fin de calcule du poids des termes d'un element.....//
         }


        //........et pour chaque objet de la liste ..............//
        for(int cpt=0;cpt<listelement2.size();cpt++)
        {
        //...on verifie si les elements de la liste on des sous elments....//
          Element courant=(Element)listelement2.get(cpt);
         // System.out.println(courant.getName());
       //   System.out.println(courant.getText());
          if(courant.getChildren()==null)
        courant.getText();      //il faut mettre la methode de calcule du poids
          //.....et si il a des elements fils on applique de nouveau la fonction ....
          else
          {
              traitement(courant);

          }//fin de else

        }//fin de for
    }

}

Si quelqu'un a n'importe qu'elle idée sur la solution qu'il n'hésite surtout
pas a me la faire partager

Merci a vous tous

Remarque
Les ligne qui me cause pb marche très bien quant il sont seul c'est-à-dire j'ai fait
rentré un simple texte et j'ai tester le fonctionnement de ces lignes ça marche très bien

mardi 23 mai 2006 à 15:49:25 | Re : pb avec les lignes d'un code

kaloway

dans ton texte, as tu des retour à la ligne?

mardi 23 mai 2006 à 16:04:24 | Re : pb avec les lignes d'un code

kaninama

coucou,

oui j'ai des retour a la ligne mais je ne vois pas vraiment ou est le pb avec ça
tu peut m'expliquer stp??

merci
mardi 23 mai 2006 à 18:40:22 | Re : pb avec les lignes d'un code

kaloway

c'était une idée comme ça. parce que un stringtokenizer par défaut ne détecte que des espaces alors que un saut de ligne n'en est pas.
donc il peut considérer que le dernier mot de la ligne et le premier mot de la ligne suivante n'en font qu'un.

question : quel est le rapport entre tes lignes en rouge et le nombre d'élèment?


mercredi 24 mai 2006 à 10:08:07 | Re : pb avec les lignes d'un code

kaninama

Bonjour,

justement il y on a aucun et c'est ça qui est bizarre car dé que j'enlève ces ligne
tt redevient comme avant et si je les ajoute la je pense qu'on accède plus a la suite du code
donc si qlq 1 peux m'aider car la je ne trouve pas de solution car je ne peu même pas trouvé ou est
le conflit

merci a vous tous

mercredi 24 mai 2006 à 11:56:09 | Re : pb avec les lignes d'un code

kaloway

Réponse acceptée !

salut,

je n'ai pas d'explication as te donner.

ce que tu vas faire :  tu vas transformer les variables motentré, al, poid en variable locales. si le bug demeure cela veut dire que il y a une relation que tu ne connais pas.
avec la commande recherche de ton IDE, je te conseille de faire une recherche sitématique sur toutes les classes avec les mots motentré, al et poid .

mercredi 24 mai 2006 à 12:04:41 | Re : pb avec les lignes d'un code

kaninama

Bonjour tt le monde,
 merci  kaloway,
mais j'ai pas vraiment compris ce que tu ma dis(je suis débutante en java ),
si tu peux m'expliqué encore plus stp,
 
j'ai encore amélioré ce code j'ai transformé ces ligne on méthode et dé que
je fais l'appelle de cette c'est le mme pb qui apparaît

merci

mercredi 24 mai 2006 à 13:00:08 | Re : pb avec les lignes d'un code

kaloway

Réponse acceptée !

dans ta nouvelle méthode, tu vas faire une déclaration de nouvelles variables qui vont prendre place de
tes variables anciennes variables motentré, al et poid. si le bug disparait (tout à l'heure je me suis trompé dans mon raisonnement) cela veut dire que les variables
motentré, al et poid ont un lien avec le nombre d'élèment.

mercredi 24 mai 2006 à 16:07:41 | Re : pb avec les lignes d'un code

kaninama

merci kaloway,
tu avais raison le pb est régler partialement(car il y a d'autre bug qui ont apparu)
mais ce n'est pas grave c'est sur quil vont etre regler tres rapidement
je te remercie beaucoup
@ bientot


Cette discussion est classée dans : pb, code, element, calcule, motentré


Répondre à ce message

Sujets en rapport avec ce message

pb de casting sur jbutton [ par benohite ] bonjour a tous,j ai cree ma propre barre d outil heritée de jtoolbar a laquelle j ajoute plusieurs boutons par defaut (i.e: dans le constructeur) via JPopupMenu [ par tlehoucq ] Hi everybody, J'ai un pb avec mon JPopupMenu... J'ai une fenêtre qui contiet un paneau qui lui meme contient plusieurs petis paneaux, qu' Coordonnées d'un element [ par ryadus ] Salut;Sur mon JPanel, j'ai dessiné un petit rectangle:Rectangle2D rect1 =new Rectangle2D.Double(300,100,5,5);Ces coordonées sont normalemet:x= pb avec 'if ( (row>>1)<<1 == row )' [ par kobee12 ] Salut a tous.J'ai une fonction isCellEditable pour l'edition des tables :DefaultTableModel df = new DefaultTableModel() { public bool JDom et CDATA [ par Polux6 ] Bonjour! Je travail sur un projet utilisant JDom. J'aimerais pouvoir enregistrer dans un fichier XML des données contenant des espaces, tabulations.. Pb Double Fenetre en Java [ par Guitariff ] Bonjour à tous, J'ai un problème avec les interfaces graphiques. En effet, lorsque je crée un objet permettant d'afficher une fenetre pas de pb : Cod Pb avec un code [ par vincem35 ] Bonjour, j'ai un code java composé de plusieurs fichier .class j'essaie d'executer le main mais j'ai un message d'erreur qui dit qu'il ne trouve pas Pb de conversion de code iso [ par canardpc2008 ] Bonjour,J'ai un pb sur la conversion d'un code ISO qui est effectué par soit le post http ce qui n'a pas de sens(pourquoi il modifirais le fichier?), pb ecriture [ par dawaman ] voila j'au un probleme avec mon code je voudrais enregistrer un tableau d'entier et pour cela j'enregistre avec la serialisation mais mon tableau rest pb de requete executeUpdate [ par lucky82 ] Bonsoir,J'ai un petit probmlème ave l'execution de la requête INSERT INTO avec une page JSP, voici mon code:  statement  = connection.createStatement(


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,903 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales