|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : avril 2010 Messages : 45 ![]() |
Bonjour à tous,
J'ai posé la question également dans la rubrique Swing/Awt, mais à la réflexion, je pense que c'est plus adapté de poser ici mon problème.... Alors, voilà je fais du parsing de HTML avec Cobra en utilisant des recherches directement avec XPath. Je m'appuie pour ce faire sur l'exemple donné dans leur site et repris ci-dessous: Code :
Le problème, c'est que si dans une des cellules de ma table j'ai du vide, l'instruction XPath ne me le remontera pas. Avez-vous une solution...je cale ! |
||
|
|
00
|
|
|
#2 |
![]() ![]() Grégory RochePublishing Inscription : octobre 2009 Messages : 1 424 ![]() |
Bonjour,
en effet, si une cellule ne contient pas de texte alors l'expression Xpath est évaluée avec la valeur nulle. Pour tester si le texte est vide, tu peux utiliser l'expression : |
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : avril 2010 Messages : 45 ![]() |
J'ai testé, mais ça ne marche pas dans mon exemple...
En fait, j'ai changé d'approche. Mon but est de récupérer la table HTML en prenant chaque balise (<table>, <tr>, <td>) afin de constituer un document DOM à l'issue du parsing. J'utilise le parseur XPath fourni avec le JDK 5. Je procède ainsi: Je commence par filtrer les tables qui m'intéresse par l'instruction XPath ("//table[@class='simple']") qui me renvoie 2 noeuds. Je boucle ensuite sur ce premier résultat, définit comme noeud courant la première table, et cherche ensuite les lignes via l'expression XPath ("./tr"), en passant le noeud courant en paramètre. Je récupère 7 lignes (valeur de lengthRow), je positionne le noeud courant sur la première ligne et je recommence pour récupérer les cellules via l'expression XPath ("./td") toujours en passant le noeud courant en contexte. Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() Grégory RochePublishing Inscription : octobre 2009 Messages : 1 424 ![]() |
Bonjour,
fait attention du fait que tu utilise du HTML ... qui n'est pas du XML. |
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : avril 2010 Messages : 45 ![]() |
Oui, je me suis déjà rendu compte qu'il fallait faire attention au fait qu'on avait du HTML et non du XML. J'ai constaté ça quand j('ai essayé d'utiliser l'API JDOM...
Là, dans le cas présent, si je parse mon flux HTML en entrée, je ne vois pas ce qui peut m'empêcher de créer ensuite un document DOM avec pour balises, les balises HTML pour les tables et ensuite sérialiser btout ça dans un fichier ... |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com