cry [PHP] - traitement d'un fichier XML [marche presque] - PHP - Programmation
Marsh Posté le 05-08-2003 à 14:16:06
en fait, si je trouve le moyen de parser l'XML pour ne sortir que les <charid> et les <name>, ca serais pas mal aussi ... le probleme, c'est que je n'ai aucune motion d'XML, et que je suis pas douer en traitement de chaine ( les seules chose que je faisais en php jusque là etait de l'insertion BD et lecture BD ..., rien de bien mechant )
@+
Marsh Posté le 05-08-2003 à 14:23:32
t'as des fonctions toutes faites:
http://dev.nexen.net/docs/php/anno [...] p?lien=xml
mais si tu veux vraiment t'amuser je te conseillerais d'essayer avec domxml_xmltree()... c'est ... instructif
Marsh Posté le 05-08-2003 à 14:29:55
Anapajari a écrit : t'as des fonctions toutes faites: |
ca a l'air pas mal du tout ( surtout la fin ) mais je n'y comprend pas grand chose ...
je fait quelques tests en me basant sur ca :
Code :
|
Marsh Posté le 05-08-2003 à 14:44:03
BL@P_pSx a écrit : |
tu as recopié l'exemple de la doc mot pour mot et tu t'es dis je vais bien réussir à l'arranger à ma sauce.
As-tu vraiment besoin d'avoir un tableau d'objet? Est-ce que tu as essayé juste avec les tableaux de valeurs et d'index si tu t'en sortais pas?
Si oui soit plus précis sur ce que tu comprends pas!
Marsh Posté le 05-08-2003 à 14:44:07
drapal de fucker
Marsh Posté le 05-08-2003 à 14:48:23
Anapajari a écrit : |
j'ai meme pas commencer a ecrire koi que ce soit !!!
je suis en train de faire quelques test ( j'ai bien dis, en train de faire ) et oui, a la 1ere lecture de la sources, j'ai pas telement compris ... mais bon, j'ai pas fait un bete copier coller, ne serais-ce que pour ouvrir mon fichier distant, ...
j'ai dejà trouver pas mal de sujet sur le net sur les parser, et je ne comprend pas bien le principe, mais j'y travaille !!!
@+
Marsh Posté le 05-08-2003 à 14:57:58
mille pardon alors
Mais plutot que de commencer par les parsers moi je te conseillerais de plutot commencer par étudier le xml, c'est beaucoup plus facile de comprendre comment se servir d'un parser après. D'ailleurs si tu captes l'anglais les tutoriaux W3schools sur le xml sont pas mal du tout!
Marsh Posté le 05-08-2003 à 15:05:22
Anapajari a écrit : mille pardon alors |
je le ferais bien, mais pas vraiment de temps, et en fait, je le ferais surement plus tard ...
Je voulais, a la base, me passer de parser, et taper dans du txt, j'ai reussi pour les joueurs ( code pas tres propre, certe ) mais j'arrive pas a dresser cette liste !!
exemple :
recup des infos du joueurs en fonction de sont num = http://www.blap.net/planetside/joueur.php?num=357045
il faut juste que j'arrive a faire un listing des joueurs ( le fichier XML citer plus haut contient tout ce qu'il faut, sauf qu'avec ma methode, il ne lis pas les balises identique )
http://stats.planetsidegaming.com/ [...] /stats.xml
@+
edit : un autre menbres, a reussi a le faire en javascript, mais il utilise des activeX qui font que ces pages ne sont pas autoriser a etre executer sur les serveurWeb ( sauf chez toi avec IIS, ne marche pas avec OVH, ni Free )
Marsh Posté le 05-08-2003 à 15:18:29
c'est koi la meilleur solution ?
enfin, pas la meilleur, mais la plus pratique pour moi ?
celle qui me permet de faire un listing simple ( nom du joueur qui pointe vers sa fiche ) il faut donc que je recupere les balise <charid> et <nom> a chaque fois, et ensuite que je concatenne pour faire un lien ( ca devrais aller cette partie ). d'ailleur, je me demande comment lister le tableau ( surement avec un while )
@+
Marsh Posté le 05-08-2003 à 15:43:00
bon, maintenant, j'ai reussi ( apres avoir essayer pas mal de truc different, et avoir enfin compris l'utilisation de la fonction citer plus haut ) j'ai un beau tableau de la forme :
Code :
|
j'aimerais faire une liste, mais je suis vraiment pas douer ... si quelq'un peux m'eclairer ( pas me donner un truc tout cuit, ca m'aiderais pas )
je pense faire un truc du genre :
Code :
|
mais je sais pas comment faire varier le [x] ??
Marsh Posté le 05-08-2003 à 15:55:57
Code :
|
Marsh Posté le 05-08-2003 à 16:06:19
on va plutot apprendre à faire les choses proprement, quelque chose dans le genre:
Code :
|
A ce moment la dans chacune des itérations dans $key tu arraus l'indice et dans $val le tableau des valeurs.
Ainsi par exemple si tu veux afficher les données ça fait:
Code :
|
Ce qui est quand même plus clair ( à mon sens ) .
Marsh Posté le 05-08-2003 à 16:17:34
merci a vous 2 ! je connaisais pas le foreach ...
sinon, Je@nb, manque les "$" mais ca doit marcher aussi ...
je vous tient au courant de l'avancement ...
merci encore !
@+
Marsh Posté le 05-08-2003 à 16:32:10
ca marche pas ...
meme un echo
Code :
|
ne marche pas
pourtant quand je fait :
Code :
|
j'ai ca :
Code :
|
je comprend pas ...
Marsh Posté le 05-08-2003 à 16:46:36
Code :
|
la fonction readDatabase est dejà definie ci-dessus, en dehors des modifs de commentaires et autre nom de variable ...
j'obtient une succession de <br><br><br><br> ....
merci ...
ps: j'ai enlever le "/" parcequ'il le rajoutais dans les balise <br> et que c'etait un peu emettant.
Marsh Posté le 05-08-2003 à 17:10:59
raaaah bin evidemment ça peut pas marcher si tu te sers des fonctions qu'il y avait dans nexen. A ce moment la $liste n'est pas un tableau de tableau mais un tableau d'objet.
Il s'avère que print_r s'en sort because
Citation : ][nom]la doc php a dit[/nom]print_r affiche des informations à propos d'une variable, de manière à ce qu'elle soit lisible. Pour une chaîne, un entier ou un double, la valeur sera elle même sera affichée. Pour les tableaux, les valeurs seront présentées dans un format qui montre les clés et les valeurs. Une notation similaire est disponible pour les objets. |
Donc dans ton cas il faut faire un truc dans le genre:
Code :
|
Petite question au passage t'as changé la structure de l'objet AminoAcide ou même pas?
ps: pour le / dans le br c'était fait exprès enfin bon fait comme tu veux!
Marsh Posté le 05-08-2003 à 17:16:42
ok, je vais essayer ton truc ... je savais meme pas la diff entre tableau de tableau et tableau d'objet ...
pour la structure de AminoAcide ( character chez moi ), j'ai pas changer trop vu que j'ai egalement 4 valeur a recuperer ...
@+
Marsh Posté le 05-08-2003 à 17:18:52
BL@P_pSx a écrit :
ne marche pas |
Et la différence [name]/[nom] ça t'est pas venu à l'esprit ?
Marsh Posté le 05-08-2003 à 17:20:20
Taiche a écrit : |
sorry, mais j'ai aussi essayer avec charid et battlerank ...
Marsh Posté le 05-08-2003 à 17:41:21
Code :
|
ca marche, mais c'est pas pratique pour la mise en forme ... je vais quand meme essayer ...
je doit faire un truc du genre :
Code :
|
avec peut etre des infos en plus ( afficher le battlerank et les pts, mais, c'est surtout la liste avec l'url qui me pose pb ...
ya pas moyen de transformer un tableau d'objet en tableau de tableau ??
Marsh Posté le 05-08-2003 à 17:53:51
ReplyMarsh Posté le 05-08-2003 à 17:54:21
Anapajari a écrit : |
tsss t'es vraiment un feignant, t'as même pas chercher à comprendre ce que remontait xml_parse_into_struct ( des tableaux de tableaux) et tu cherches mêmes pas a comprendre comment marche les objets en php( http://www.commentcamarche.net/php/phpclass.php3 ).
Bref tiens ça doti faire ce que tu veux, t'aurras plus qu'a recopier:
Code :
|
Marsh Posté le 05-08-2003 à 18:07:12
je suis ce que tu apelle un feignant, et depuis ce matin, j'ai lu une bonne centaine de page sur le XML et sur le traitement de chaine en PHP, alors, j'ai peut-etre oublier de potasser les objet ( je sais meme pas ce que c'est ) ... maintenant, si tu me dis comment ca marche plutot que de dire que je fait rien ... ca me ferais avancer ...
J'ai compris ( c'est un grand mot ) ce que faisais le scirpt de nexen, mais de la a dire que j'ai compris la programation orienter objet ...
Alors, je potasse et encore desoler d'etre un newb en php, j'ai surement d'autre domaine que je maitrise plus.
et merci !
edit: je vient de lire ca : http://www.commentcamarche.net/php/phpclass.php3 et je comprend pas grand chose, mais ca vas venir ...
Marsh Posté le 05-08-2003 à 14:08:22
Voilà, j'explique :
Je cherche a faire un listing des membres d'un Outfit ( clan de PlanetSide, la team HFR ), et ceci a l'aide des fonction de lecture de fichier du PHP.
Le fichier a lire est un fichier XML, et en fait, je ne veux pas utiliser de parser, juste rechercher quelques infos dans ce fichier.
J'arrive dejà a recuperer ( dans un aute XML ) les informations de chaque joueurs, mais le probleme avec la team, c'est que le fichier XML contient plusieur fois le meme champ <charid>xxxxx</charid>.
pour les stats d'un joueur, les champs sont unique, donc je fait ca :
je voudrais donc trouver un moyen de parcourir le fichier XML ( http://stats.planetsidegaming.com/ [...] /stats.xml ) et recuperer tout les contenus des champs <charid>xxxx</charid> dans un tableau afin de faire un listing ...
merci bien d'avance ...
@+
ps: mon code n'es pas tres propre, mais ca marche, merci de ne pas m'en tenir trop rigueur
Message édité par bl@p_psx le 05-08-2003 à 17:10:02