Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème mineur

Sujet résolu
    20 novembre 2010 à 19:25:27

    Bonsoir,

    J'ai un problème que je n'arrive point à résoudre :(

    Je me suis aider de ce tuto:
    http://cynober.developpez.com/tutoriel/java/xml/jdom/

    J'ai réussi à tout faire, mais après j'ai voulu stocker les données dans un tableau infos[][].

    Et là j'ai une erreur, voici mon code:


    import java.io.*;
    import java.net.URL;
    
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.filter.*;
    import org.xml.sax.InputSource;
    
    import java.util.List;
    import java.util.Iterator;
    
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    
    public class JODM2
    {
       static org.jdom.Document document;
       static Element racine;
    
       public static void main(String[] args)
       {
          //On crée une instance de SAXBuilder
          SAXBuilder sxb = new SAXBuilder();
          try
          {
             //On crée un nouveau document JDOM avec en argument le fichier XML
             //Le parsing est terminé 
        	  URL url = new URL("http://192.168.1.13/www/essai.xml");
             document = sxb.build(url);
          }
          catch(Exception e){}
    
          //On initialise un nouvel élément racine avec l'élément racine du document.
          racine = document.getRootElement();
          String infos[][]=null;
          //Méthode définie dans la partie 3.2. de cet article
          infos=afficheALL();
          System.out.println(infos[0][0]);
          
       }
       
       static String[][] afficheALL()
       {
          //On crée une List contenant tous les noeuds "etudiant" de l'Element racine
          List listLigne = racine.getChildren("ligne");
          int j=0;
          int v=0;
          String infos[][] = null;
    
          //On crée un Iterator sur notre liste
          Iterator i = listLigne.iterator();
          while(i.hasNext())
          {
             //On recrée l'Element courant à chaque tour de boucle afin de
             //pouvoir utiliser les méthodes propres aux Element comme :
             //selectionner un noeud fils, modifier du texte, etc...
             Element courant = (Element)i.next();
             //On affiche le nom de l'element courant
             
             infos[j][v]=courant.getChild("nom").getText();
             v++;
             infos[j][v]=courant.getChild("arret").getText();
             v++;
             infos[j][v]=courant.getChild("minou").getText();
             j++;
    
          
          }
          return infos;
       }
    }
    


    Merci de votre aide :=)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 novembre 2010 à 21:12:45

      Bonsoir

      Je crois que le problème vient de la ligne 48. Il faudrait écrire :
      String infos[][] = new String[valeur_x][valeur_y];
      


      Chimiste
      • Partager sur Facebook
      • Partager sur Twitter
        20 novembre 2010 à 22:14:33

        Merci bien ;)

        Ca venait bien de là ;)

        Mais pourquoi faire celà?

        Cordialement
        • Partager sur Facebook
        • Partager sur Twitter
          20 novembre 2010 à 22:16:38

          Parcequ'il faut d'abord initialiser un tableau avant de l'utiliser ;)
          • Partager sur Facebook
          • Partager sur Twitter
            20 novembre 2010 à 22:55:22

            Citation : Darko'

            Parcequ'il faut d'abord initialiser un tableau avant de l'utiliser ;)



            Il était initialiser avec null normalement
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              20 novembre 2010 à 23:23:54

              C'est le tableau qu'il faut initialiser, pas son contenu ;)
              • Partager sur Facebook
              • Partager sur Twitter
                21 novembre 2010 à 0:01:11

                Citation : sebcap26

                C'est le tableau qu'il faut initialiser, pas son contenu ;)



                Oh mmy god, pas faux ;)

                Merci
                • Partager sur Facebook
                • Partager sur Twitter

                Problème mineur

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown