Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DOM

11 réponses
Avatar
Gloops
Bonjour tout le monde,

Je vois que ces derniers jours nous sommes un paquet =E0 nous int=E9resse=
r =E0=20
r=E9cup=E9rer le contenu d'une page web, =E0 force il y en a bien un qui =
va=20
arriver =E0 quelque chose de propre :)

Au final j'ai =E0 convertir un site =E9crit en pur HTML vers des pages as=
p=20
(pour b=E9n=E9ficier de la localisation implicite, sur laquelle j'ai ouve=
rt=20
des fils ici il y a quelques semaines). Je me demande si il n'y aurait=20
pas quelque chose d'int=E9ressant =E0 faire du c=F4t=E9 de XSL, voire si =
=E7a ne=20
serait pas d=E9j=E0 fait, mais ce sera une prochaine =E9tape de r=E9flexi=
on.

Pour le moment, je m'int=E9resse tout bonnement =E0 DOM.

J'ai utilis=E9 le code suivant :

XmlDataDocument doc =3D new XmlDataDocument();
doc.Load("home.htm");

(avec le chemin complet bien entendu)

et sur doc.Load j'obtiens une erreur :
Message=3D"'>' est un jeton inattendu. Le jeton attendu est '\"' ou=20
'''. Ligne 1, position 63."

Alors je scrute ma ligne de code de fa=E7on approfondie (et par=20
d=E9finition, une ligne, ce n'est gu=E8re tr=E8s profond ;) ),=20
particuli=E8rement autour du 63=E8me caract=E8re, et je tombe pile au mil=
ieu=20
d'un mot, rien de tr=E8s excitant.

Et finalement, tilt : il ne s'agissait pas du 63=E8me caract=E8re de ma=20
ligne de commande, mais du 63=E8me caract=E8re du fichier que je cherche =
=E0=20
ouvrir (j'ai v=E9rifi=E9 en le changeant).

Ainsi parlait-il (il aurait pu s'appeler Zarathustra, mais ce sera pour=20
une autre fois) :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


Et j'ajoute : ah bon ?

Elle me para=EEt bien, cette balise.
On ne peut pas ins=E9rer =E7a dans un document DOM ?

1 réponse

1 2
Avatar
Gloops
Gilles TOURREAU [MVP] a écrit, le 03/02/2008 18:16 :
Pour le strict je me suis fait recaler sur <a target='_blank'



En XML, les attributs doivent obligatoirement entre des guillements !
- target='xxx' ne fonctione pas !
- target=xxxx ne fonctione pas !
il faut mettre : target="_blank"




C'est ce qu'il y avait au départ.
Je l'ai changé seulement parce que je me suis fait jeter, mais ça n'a
rien résolu.
Il semble que xhtml strict n'accepte ni target=_blank, ni
target='_blank', ni target="_blank", du moins si j'ai bien lu les
messages d'erreur (qui d'ailleurs ne sont pas les mêmes dans les trois
cas). En transitional, ça passe bien. La dernière validation a été faite
avec des accolades, mais je suis assez confiant sur les guillemets comme
j'avais au départ (et comme on trouve d'ailleurs effectivement dans les
docs).


Effectivement, une fois ces quelques modifs effectuées, mon programm e
réussit à ouvrir le document en tant que XMLDataDocument. Il me re ste
donc à explorer les différents éléments et à les traduire à mesure,
notamment les <P> vont devenir des Labels ASP (ça ne serait pas dé jà
fait quelque part, ça, des fois, la correspondance entre les balises
HTML et les contrôles ASP ? Peut-être avec plus ou moins de bonheu r,
mais ...)



A la base toutes les balises de ASP .NET produise du XHTML pur et dure. ..
Si la page généré n'est pas du XHTML, cela vient de votre code AS P que
vous avez mal




Il n'y a pas encore de code ASP.
Le site a été écrit en HTML pur et dur, sous NVU ou parfois retouch é
dans un éditeur de textes.
Je l'ai transféré le mois dernier vers un hébergeur qui assure le
support de la plateforme .Net (ça s'est loupé de peu l'an dernier).
Dans un premier temps je me contente de migrer l'existant, en lui
faisant bénéficier de la localisation implicite, que je n'ai guère vu
comment assurer sans .Net, aussi le site commence jusque là par une pag e
qui donne le choix de la langue. Il faut avouer que la localisation
implicite qui ne demande rien à personne et qui affiche directement dan s
la langue de l'utilisateur, ça a quand même plus de classe. Surtout s i
on est capable de lui offrir ensuite le choix si il change d'avis (ou
que c'est un pote qui lui a prêté sa machine pendant son séjour).

La première phase est de sérialiser le site HTML, et la phase suivant e
sera de désérialiser en ASP. Le but de la désérialisation, préc isément,
sera de générer des balises ASP à partir des balises <p>, <ul>, <li >,
<H1> ... en n'oubliant pas au passage de générer les fichiers de
ressources avec les intitulés. Le programme de transfert va donc
comporter deux parties : lecture du code xhtml, et écriture des balises
ASP et des fichiers de ressources (en fait, je pensais passer par une
phase en xml entre les deux, mais si le xhtml est considéré comme tel ...)

Je pense que je m'en suis sorti pour la lecture, il me restera à relire
le résultat, ensuite pour l'écriture des balises ASP je verrai si je
peux générer directement tout le fichier, sinon il y a une solution
assez simple (une fois la syntaxe correcte :) ) qui est de copier le
résultat dans le presse-papiers et le coller dans une page ASP en mode
markup. Je ne l'ai pas encore fait, mais je me représente que
logiquement ça devrait être faisable.

J'ai une hésitation sur les balises de titre (H1, H2 ...) : je crée d es
Labels, et je leur affecte le style qui va bien ?

Quand tout cela sera fait, j'en viendrai progressivement à des choses
plus dignes de .Net.
1 2