Envoyé par : alexthecoolman
Date : 29/04/2006 06:50
Bonjour,
je fais un petit Soft en C# qui analyse des pages internet.
J'ai fais une extension qui sauve les pages à analyser dans des fichiers temporaire. Pour l'instant je sauvegarde le Html, pour des raisons évidente de simplicité je les voudrai en XML et plutôt que de passer par un parseur je voulais savoir si il était possible de directement les sauvegarder en XML avec fireFox. Et si oui comment ;)
je précise que la page ne peu pas etre redemandé au serveur.
Merci d'avance :)
Alex.
Envoyé par : laurentj
Date : 02/05/2006 10:25
Pour l'instant je sauvegarde le Html, pour des raisons évidente de simplicité je les voudrai en XML
Si la page est en html, je ne vois pas comment tu peux avoir du XML. (HTML = SGML et pas XML). À moins que tu parle de XHTML, qui est déjà en XML.
Pourrais-tu expliciter ce que tu veux ? J'ai l'impression que tu te mélanges les pédales entre HTML, XML etc...
Envoyé par : thefab
Date : 02/05/2006 12:47
Question: Firefox ne garde-t-il pas en interne une version XHTML de la page affichée, même si celle-ci n'est que en HTML, et c'est pour cette raison que le code affiché via 'afficher source' et le code enregistré avec 'enregistrer sous' sont différents ?
Si c'est le cas une version XHTML devrait exister.
Envoyé par : laurentj
Date : 02/05/2006 13:06
non. html c'est html. xhtml c'est xhtml. Comment voudrais tu qu'il fasse la conversion ??
Le SGML (donc html) ne se traite pas de la même manière que le XML ( XHTML ).
Gecko ne stocke donc pas une version xhtml d'une page html (ça n'aurait pas de sens). Quand c'est une page XHTML (bien formée), il utilise un DOM classique, quand c'est une page HTML, il utilise le DOM HTML.
Il faut savoir que le HTML peut être codé de façon pas propre. Genre il peut manquer des balises ouvrantes ou autre etc.. Donc Gecko, quand il charge la page, il faut bien qu'il complete (genre, il rencontre un premier tr, il va alors créer une balise table dans le DOM). Donc le dom resultant d'une page pourrie ne sera pas exactement le reflet du code source de la page pourrie. Le parser HTML de Gecko est obligé de faire de l'interpretation, de tenter de reconstituer. C'est pour cela que lorsqu'il reserialise le DOM, on n'obtient pas un code source identique à l'originale (il y a des balises fermantes etc..). (c'est pour cela qu'il est important de faire du HTML ou XHTML valide, car sinon le résultat peut être différent d'un navigateur à un autre, l'interpretation des erreurs pouvant être différente..)
Ensuite, quand tu sauves sur ton disque, il sauve aussi les images, les feuilles css &cie. Et donc forcément, les liens vers ces ressources vont changer. Enfin, avec le DHTML, AJax &cie, le DOM est continuellement modifié, donc forcément, le résultat n'est pas identique à la page originale.
Envoyé par : thefab
Date : 02/05/2006 13:17
Salut,
Il faut savoir que le HTML peut être codé de façon pas propre...
Je sais est c'est justement pour ça que je pensais qu'il y avais 2 versions une originale et une plus propre.
Comment voudrais tu qu'il fasse la conversion ?
Donc Gecko, quand il charge la page, il faut bien qu'il complete
Ben je crois que tu réponds à ta question ;-)
Il y a donc 2 versions une pas propre du genre:
<P><OL><li>...<br></p>
et une plus propre:
<p><ol><li>...</li><br/></p>
compatible avec du XML
Maintenant si je me trompe je suis complètement désolé
Envoyé par : laurentj
Date : 02/05/2006 13:19
compatible avec du XML
non pas du tout. du HTML reste du HTML. Donc la serialisation donnera
<p><ol><li>...</li><br ></p>
PS: comme je disais, gecko travaille en deux modes : HTML ou XML. Donc il a un parser HTML, un DOM HTML et un serializer HTML. Et il a un parser XML, DOM XML et serializer XML.
Envoyé par : thefab
Date : 02/05/2006 16:49
Ok, merci pour cette précision.
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.