J’ai un soucis ennuyant ! Je me lance dans l’écriture de RSS pour mon site, et je me heurte à un problème sans trouver de réelle solution. J’explique mon problème :
J’ai mon fichier RSS en XML sous la forme traditionnelle suivante :
[Header]
[Item2]
[Item1]
...
[Footer]
Mon problème est donc d’écrire un [Item3] avant le [Item2] dans mon fichier. Vous me direz tout bêtement :
Tu lis ton fichier
Tu l’effaces
Tu ré-écrits avec le [Item3]
Et hop le tour est joué !
Problème : D’ici un mois je risque d’avoir facile 100 Items, si je dois à chaque fois ré-écrire mon fichier sachant qu’il va chercher l’item dans ma base de donnée, j’ai pas finie…
Solutions envisagées :
Essayer d’insérer des lignes sans devoir ré-écrire la fin du fichier (apparement c’est impossible d’après 2-3 forums)
Limiter mes fichiers XML à 30 Items (par exemple), mais dans ce cas là comment faire pour tous les répertorier en une seule adresse pour que d’autres sites puisse les lire sans jamais avoir l’adresse qui change? Des bêtes includes php avec un GET pour un XML de 30 Items?
Tu peux jouer avec DOM, qui est là pour ça : tu lis le fichier, tu as un arbre DOM, et tu demande d’insérer un noeud avant ou après celui de ton choix, et puis tu sauvegarde.
Hum ha ouai ça résoudrais tranquilement mon problème, j’vais chercher un peu, mais est-ce compatible sous PHP 4.x ? Et si tu connais un site sympa sur le sujet, les liens sont bienvenu, merci beaucoup =) !
En gros faut que j’arrive à l’incorporer dans channel, mais je vois pas comment =X ! J’ai trop de mal et ne connaissant pas trop la syntaxe pour manipuler des objets, tous mes tests se retrouvent bourrés de Warnig ou Fatal Error -_- !
De deux, il m’enregistre pas réellement dans mon fichier test.xml, pk? =X
Je réctifie, ce code paraît logique qu’il ne fonctionne pas, car dans la deuxième variable de insert_before j’ai pas mis un mais plusieurs objets… Or il faut simplement l’objet que l’on veux précédé. J’ai essayé avec le code suivant :
[Mode Déséspéré : On]
Pfiouh c’est une question conne non? C’est pas bien compliqué, à croire que personne n’utilise de classe et de DOM ! Moi perso ça me surpasse un peu, je connais pas trop la syntaxe, mais SVP aidez moi j’en ai besoin rapidement de ce script !
[Mode Déséspéré : Off]