Récuperer un tableau html en java

cs_asle Messages postés 8 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 13 septembre 2010 - 18 déc. 2009 à 15:52
ben78180 Messages postés 1 Date d'inscription samedi 16 octobre 2010 Statut Membre Dernière intervention 16 octobre 2010 - 16 oct. 2010 à 13:23
[code=java]salut,

J'ai un probleme avec java html parser.
J'ai un programme qui recupere tous le code html dans un fichier texte.

Moi je veux recuperer seulement les tableau.

Pour etre claire, mon programme doit avoir en entrée un fichier *.html, ensuite il doit parser tout le code html et il recupere seulement les tableaux dans un fichier texte, pour que par lasuite je peux convertir le tableau en JTable ou en XML.

Merci de bien vouloir m'aider.

4 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
18 déc. 2009 à 16:19
Salut,

et il est où le pb ?
1
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
18 déc. 2009 à 19:22
Salut,

Il faut utiliser des regexp pour extraire les tables.

Bon courage
0
cs_asle Messages postés 8 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 13 septembre 2010
7 janv. 2010 à 19:52
salut,
j'ai pu recuperer les tableaux html dans la console et voici le code:


import java.io.FileReader;

import java.io.Reader;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;



import javax.swing.text.MutableAttributeSet;

import javax.swing.text.html.HTML;

import javax.swing.text.html.HTMLEditorKit;

import javax.swing.text.html.parser.ParserDelegator;



public class mourad2 {

int l,g;



public static void main(String[] args) {

Reader r;

String spec = args[0];

try{

r = new FileReader(args[0]);





HTMLEditorKit.Parser parser;

System.out.println("About to parse " + spec);

parser = new ParserDelegator();



parser.parse(r, new HTMLParseLister2(), true);

r.close();

}

catch (Exception e) {

System.err.println("Error: " + e);

e.printStackTrace(System.err);

}



}

}



class HTMLParseLister2 extends HTMLEditorKit.ParserCallback

{



int indentSize = 0;

int z=1,y=0;

int td=1,tr=0;



public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {



if(t.toString().equals("table") ){

System.out.print("\n\" );

}

if(t.toString().equals(\"tr\") ){

System.out.println();

tr++;}

if(t.toString().equals(\"td\")){

td++;

}

// if(t.toString().equals(\"td\") )System.out.println(\"td= \"+td++);

}

public void handleText(char[] data, int pos) {

System.out.print(data);

System.out.print(\" \");

}

public void handleEndTag(HTML.Tag t, int pos) {

if(t.toString().equals(\"table\")){

System.out.print(\"\nligne= \"+tr);

System.out.println(\" colonne= \"+td/tr);

tr=0;

System.out.println("
" );

td=0;

/*for(int i=l.size()-1;i>=0;i--){

l.remove(i);



}*/

}

}

}



pour les convertir en XML, je sais que je dois utiliser L'API JDOM, Mais j'ai essayé mais ça n'a pas marcher.

est ce qu'il y a quelqu'un qui pourra m'aider.

Merci d'avance
0
ben78180 Messages postés 1 Date d'inscription samedi 16 octobre 2010 Statut Membre Dernière intervention 16 octobre 2010
16 oct. 2010 à 13:23
salut ,
dsl je ne peux pas t'aider ,
en revanche pourrais-tu m'aider me parler de ton programme qui récupère le code html dans un fichier texte , je suis très interessé .
merci d'avance
Ben
0
Rejoignez-nous