Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1123 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Manipulation de document HTML en Java => rendre le code HTML propre ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Manipulation de document HTML en Java => rendre le code HTML propre ?

n°354520
swgreedo
Posté le 07-04-2003 à 12:34:58  profilanswer
 

Voici mon problème : je réalise un programme qui est sensé lire le contenu d'un document HTML pour créer un document XML.
Pour l'instant, je récupère un Document (org.w3c.dom.Document) grâce à l'API JTidy (qui permet notamment de parser un fichier HTML).
Le problème, c'est que les fichiers HTML que je lis ne sont pas très stricts : le code HTML est généré par un éditeur (celui de WSAD=version commerciale d'Eclipse en l'occurence) et ce vilain ne ferme pas les balises INPUT. Résultat JTidy se perd un peu...
 
Exemple :
un bout de mon fichier ressemble à ca :

Citation :

<TD>
 <INPUT name="login" type="text" size="20">
</TD>
<TD>Coucou</TD>


 
JTidy me donne ca :

Citation :

<TD>
 <INPUT name="login" type="text" size="20">
  <TD>Coucou</TD>
 </INPUT>
</TD>


 
Autrement dit JTidy crée lui meme la balise fermante </INPUT>, mais pas au bon endroit.
Voici donc ma question : ai-je un moyen (en configurant JTidy ou l'éditeur HTML d'Eclipse) de fermer automatiquement les balises ? Ou alors je dois coder ca moi meme (si balise INPUT alors déplacer la balise TD...) ? Pour l'instant je n'ai rien trouvé dans la doc de Tidy...
Si vous connaissez une autre API pour manipuler de l'HTML en Java je suis preneur.
 
Merci d'avance


Message édité par swgreedo le 07-04-2003 à 12:36:02
mood
Publicité
Posté le 07-04-2003 à 12:34:58  profilanswer
 

n°354579
BifaceMcLe​OD
The HighGlandeur
Posté le 07-04-2003 à 13:29:38  profilanswer
 

J'avais déjà réfléchi à la question, et je n'ai pas trouvé mieux que d'écrire mon propre parser qui corrigent toutes les erreurs du fichier HTML. Parce qu'il n'y a pas que ce que tu as mentionné.
 
D'une part, une fois sur deux, les valeurs d'attributs ne sont pas entre guillemets, ce qui est contraire à toute grammaire XML.
 
Ensuite, certains éléments ne sont pas fermés : en XML, ils devraient être "auto-fermés", du genre "<BR/>.
 
Enfin, et c'est le pire, certains éléments sont mal imbriqués. Exemple typique :
  <FORM ...>
    <TABLE ...>
      <TR ...>
        <TD ...>
          ...
       </FORM ...>
      </TD ...>
    </TR ...>
  </TABLE ...>
Et là, accroche-toi pour faire parser ça par un parser XML...

n°354729
swgreedo
Posté le 07-04-2003 à 14:25:24  profilanswer
 

OK, je sais ce qui me reste à faire...
Merci pour ta réponse.
 
Si quelqu'un a une idée plus enthousiasmante...  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Manipulation de document HTML en Java => rendre le code HTML propre ?

 

Sujets relatifs
Document pdf dans une partie d'une page webProblème dans mon code (surement simple)
[HTML] ou [PHP] C'est possible ?Code ou tuto pour un mini-mini serveur web ?
[JAVA] jouer des .wav [Résolu !]pas de html avec la fonction str_replace
[HTML] Où est le problème? Il veut pas s'aligner come il faut! :([HTML compliant] skoi le problème avec mon <head> ?
PHP + HTML dans une commande echo[HTML] Pb Gestionnaire d'évènements selon la machine ...
Plus de sujets relatifs à : Manipulation de document HTML en Java => rendre le code HTML propre ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR