Bonjour, j'ai un fichier html de ce type :
(Pour éviter de surcharger j'ai cut une bonne partie des tableaux).
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 <!doctype html public "-//IETF//DTD HTML//EN"> <HTML><HEAD> <TITLE>IxChariot: C:\Documents and Settings\Hardware\Mes documents\IxChariot\Tests\test.tst</TITLE> </HEAD><BODY> <H1 ALIGN=CENTER>IxChariot</H1> <BR> <BR> <TABLE CELLPADDING=3 BORDER=1 style="page-break-inside : avoid"> <H2>Summary - C:\Documents and Settings\Hardware\Mes documents\IxChariot\Tests\test.tst</H2><BR> <TR style="page-break-inside : avoid"> </TR> <TR style="page-break-inside : avoid"> <TD ALIGN=LEFT><B>Console version</B></TD> <TD ALIGN=LEFT>7.20 EA</TD> </TR> </TABLE> <TABLE CELLPADDING=3 BORDER=1 style="page-break-inside : avoid"> <H2>Run Options</H2><BR> <TR style="page-break-inside : avoid"> </TR> <TR style="page-break-inside : avoid"> <TD ALIGN=LEFT><B>End type</B></TD> <TD ALIGN=LEFT>Run until all pairs end</TD> </TR> </TABLE>
Et j'aimerais supprimer le tableau run option, pas seulement les balises, mais l'intégralité du tableau(balise+contenu). Et par exemple garder que le premier tableau.(En réalité mon document html possède de nombreux tableaux et j'aimerais en supprimer certains).
Pour ce faire j'utilise jsoup
Voici une partie de mon code :
Actuellement mon code donne quelque chose comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Document doc=Jsoup.parse(new FileInputStream("test.html"), "utf-8", "", Parser.xmlParser()); for (Element table : doc.select("table:has(H2:contains(Run Options)")) {for (Element row : table.select("tr")) { Elements tds = row.select("td"); tds.remove(); } }
En clair il supprime toute les balises table tr td, mais pas encore le contenu en lui même. Et j'ai du mal à voir comment faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <b>End type</b> Run until all pairs end<b>Reporting type</b>
J'ai vue qu'avec tds.text(), je pouvais récupérer ce text, donc j'avais pensé à quelque chose comme tds.text().remove().
Ou tds.remove(text());
Mais aucun des deux ne fonctionne. Et je ne connais pas grand chose au xml, à vrais dire j'ai du l'utiliser car jsoup avait du mal avec ce pseudo-selector ""table:has(H2:contains(Run Options)".
Quelqu'un aurait il une idée pour supprimer l'un des tableaux(que ce soit balises et contenu) toute en gardant l'autre ?
Partager