10demon10
Messages postés63Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention28 juin 2012
-
1 janv. 2010 à 19:56
10demon10
Messages postés63Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention28 juin 2012
-
6 janv. 2010 à 18:26
bonjour à tous et bonne année 2010
voila j'ai un petit problème avec ma boucle "do-while" je souhaiterai afficher uniquement les 10 premier article de mon fichier XML pourtant il me semble oublier quelque chose car cela ne fonctionne pas ???
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 5 janv. 2010 à 23:38
Salut et bonne année également,
Tout d'abord, je continue de penser comme dans mon précédent message, que tu devrais encapsuler les éléments correspondant à un item (je ne sais pas si c'est un article ou autre chose). XML est un langage de DESCRIPTION de données. Ton fichier, tel que tu nous le présente, décrit bien les différents items, mais ne les hiérarchise pas ; or c'est indispensable : comment savoir que tel titre correspond à tel item, et un autre titre à un autre item ? Là, on pourrait légitimement penser que l'item intitulé "mon titre" est associé à la date 02/01/10 : la règle comme quoi une nouvelle balise titre implique que les balises suivantes décrivent un nouvel item n'est pas écrite... Et justement, l'exemple que je donnais n'était rien de plus que l'écriture de cette règle, qui permet de savoir que telles balises décrivent tel item, telles autres tel autre item.
Sinon, les balises HTML dans l'élément <classeur> sont probablement mal interprétées, du fait que le parser DOM va les considérer comme des balises XML.
Pour éviter cela, il faut préciser au parser qu'il s'agit de données :
<classeur><![CDATA[[ .....]]]></classeur>
Ce n'est peut-être pas la seule erreur, mais c'est celle que je vois là tout de suite... Il faudrait préciser ce qui ne fonctionne pas plus précisément, parce que "ça ne fonctionne pas" ce n'est pas très parlant... Est-ce qu'il y a un message d'erreur, que se passe-t-il d'inattendu, qu'attends-tu, ... ?
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
10demon10
Messages postés63Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention28 juin 2012 5 janv. 2010 à 23:53
Je te remercie pour ton message
Je te reassure ,en éffet j'ai encapsuler le fichier XML comme tu me l'avais conseillé et cela fonctionne très bien(j'ai juste fait un copier coller de mon précédent poste méacoulpa ^^)
Pour le classeur il ne me poste aucun problème non plus de ce côté là non il s'agissait vraiment d'un problème de boucle.
J'ai remplacé mon do-while par un if ($count <11) et cela fonctionne ;)
mais mon but est surtout de gérer l'affichage comme tu la deviné " des articles " certainement cela peut être possible par la balise <element> mais je vois pas comment dans le détail ?
(example: de FaceBook => "afficher plus" et il affiche 10 articles précédents supplémentaires)
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 6 janv. 2010 à 00:06
Sinon, il doit être possible de parcourir les éléments i à j (i et j étant variables en fonction de ceux que tu souhaites afficher) avec une boucle for.
La méthode getElementsById() retourne une instance de DOMNodeList, et on peut accéder à chaque élément par son index. Donc pour afficher les 10 éléments les plus récents (en toute logique, ceux d'indice 0 à 9, puisqu'ils doivent être les plus premiers de ton fichier XML), on doit pouvoir faire comme ça :