IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Extraire des données d'une page HTML et les formatter dans une JTable


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Extraire des données d'une page HTML et les formatter dans une JTable
    Salut . j'ai ecrit un code qui recupere le contenu d'une table html
    et doit l'afficher dans une JTable qui aura comme header num , nomPrenom , adr , id .
    j'arrive pas a afficher les listes recuperer dans une JTable .aidezz moi svp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import java.util.ArrayList;
    import javax.swing.JTable;
     
     
    public class Lecteur {
     
        private static ArrayList<String> listeEtudiant = new ArrayList<String>();
     
        public static void ajouterLigne(String line ){
            listeEtudiant.add(line);
           //System.out.println("Ligne Size : " + listeEtudiant.size() + " " + line);
            String[] monTab = line.split("        ");
           String num = monTab[0];
           String nomprenom = monTab[1];
           String adr = monTab[2];
           String id = monTab[3];
          System.out.println(num + nomprenom + adr + id);
        }
        public static ArrayList getListeEtudiants(){
            return listeEtudiant;
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    40
    41
    42
    43
    44
    import java.net.*;
    import java.io.*;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
    public class URLConnectionReader {
     
        public static void main(String[] args) throws Exception {
            URL yahoo = new URL("http://deptinfo.unice.fr/~grin/mescours/linfo/poo/projets/listeetudiants.html");
            URLConnection yc = yahoo.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
     
            String inputLine;
     
     
            while ((inputLine = in.readLine()) != null)
            {
     
    StringBuilder codeHTML = new StringBuilder();
    String expReguliere = ".*?<tr[^>]*>(.*?)</tr>.*?";
     
    Pattern p = Pattern.compile(expReguliere);
     
    while ((inputLine = in.readLine()) != null) {
        codeHTML.append(inputLine);
    }
    Matcher m = p.matcher(codeHTML.toString());
    while(m.find())
       // System.out.println(m.group(1).replaceAll("(<[^>]*>)|(</[a-z]*>)", " "));
     
    Lecteur.ajouterLigne(m.group(1).replaceAll("(<[^>]*>)|(</[a-z]*>)", " "));
     
           // }
     
               // System.out.println(inputLine);
            //
           // Lecteur.getListeEtudiants().remove(0);
            //for(int i=0; i<Lecteur.getListeEtudiants().size() ; i++){
               // System.out.println(Lecteur.getListeEtudiants().get(i));
            }
     
            in.close();
        }
    }

  2. #2
    Membre du Club Avatar de daronmaster
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 67
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    que penserais-tu quant à l'utilisation de l'api Xerces (http://xerces.apache.org/xerces-j/) qui te permettrait de parser ton fichier html ?

    Tu pourrais par exemple écrire dans un fichier temporaire la page html et tu pourrais accéder facilement au DOM de ta page avec les différentes méthodes de cette api.

    Voilà, je pense que c'est une piste à suivre ...

    Tchû
    Tchû

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Si ton la page respecte la norme xhtml, tu pourras utiliser un parseur xml pour recuperer les elements de la table sans te fatiguer avec des expressions regulieres.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/05/2013, 18h19
  2. Supprimer les marges dans une page html
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/01/2006, 04h41
  3. Réponses: 7
    Dernier message: 14/09/2005, 10h50
  4. [HTML]Inserer un *.swf dans une page html
    Par [Silk] dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/06/2005, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo