php -> dom xml
jeudi 6 juillet 2006Il y a une petite semaine que je pense a crypter mes historiques de conversation MSN et comme la portabilité est mon principal soucis, je me suis dit « fait une petite appli ». Alors comme je kiff php et que j’ai pas encore éssayer les compilateur php->exe tel que PriadoBlender, j’ai décidé de m’y mettre.
Les conversation MSN son stocké dans des fichiers xml qui, couplé avec un xsl merdique, vous permettent tout de même de les visualiser via votre navigateur. XML c’est bien. Donc je me suis dit, restons dans cette optique, et créont des fichiers xml pour stocké tout ce beau monde en crypté.
C’est partie je vois qu’il y a une lib DOM dans php parfait! arf les fonctions DOM on l’air obsolète, je me met à DOM XML. mince c’est une extension… soit un pompage de dll, une ligne dans le php.ini, un redémarrage du serveur et mon extension DOM XML est prète. Je regarde la doc… ouais… bon ils auraient rien marqué ça serait pareil quoi… c’est pas grave ya des exemples! (je pars optimiste) allez un petit bout de code, $doc = domxml_open_file(),; echo $doc->dump_mem(); youhou j’ai affiché un fichier xml !!! …. ouais ya pa de quoi s’emballer quoi.
Je cherche à tirer les tout les dans n’importe quoi pour pouvoir les inclures ailleurs. Jje fouine… tiens on peut selectionné un noeud nommé!… encore heureux… DomNode et une classe parent de DomDocument parfait dump_prep doit marcher. Je selectionne mes message avec get_elements_by_tagname() sur mon $doc, je liste la NodeList. $node->dump_mem()… ah ben non… plantage du serveur net, précis. ça commence bien j’ai écrit 5 lignes. Alor on va test $node->owner_document()->dump_mem()… ça marche! ah ben nan… owner_document représente tout le document donc je l’ai listé plusieur fois… mais alors comment je fais pour just affiché mon noeud ?
Après des recherches un peu plus poussé j’ai décidé d’abandonné DOM XML, j’arrive pas à afficher un noeud, alors réussir à les déplacer dans un autre doc xml !!! Je lache. La moitié des fonctions sont pas documentée et sans exemple. Je préfère me démerder avec mes expréssions régulières, peut-être pas aussi fiable mais moins prise de tête inutile. La lib SimpleXML me parraissait alléchante jusqu’à se que je me rende compte qu’il n’y avait pas de fonctions pour écrire….
Bref le XML c’est bien, mais alors sous PHP, seulement à la main…