|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Bonjour à tous.
J'ai récupéré un parseur et l'ai adapté à mon cas (mal pour le coup ). Il parse quelques lignes puis renvoie une erreur. De plus, il ne renseigne pas la propriété Map de ma table record.Voici le fichier à parser : http://88.191.77.194/stats/record/yu...BuU4l88RqI75.4 Voici le résultat d'un parsage : ![]() ![]() Enfin voici mon code : Code php :
Merci d'avance pour votre aide. |
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() Laurent WillemsExpert Stop/Start Inscription : septembre 2002 Messages : 2 548 ![]() |
Salut,
http://php.net/manual/fr/function.xml-parse.php Citation:
__________________
Alea Jacta Test! |
|
|
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Le problème c'est que ma source n'est pas expressément un XML, c'est un fichier quelconque (inconnu dans l'explorateur) mais qui à la tronche d'un XML c'est sur.
Du coup est-ce que je peux vraiment récupérer l'erreur avec ces propriété xml? De plus je suis une tanche en php, je ne sais pas si je saurai placer ces propriétés, mais je vais chercher. Edit : bon j'ai eu beaucoup de chance, je suis tombé sur un joli tuto qui m'a permis de faire un joli copier/coller pour récupérer les erreurs ... Voici donc les erreurs renvoyées : Citation:
Code : Code php :
Deubeul edit : en fait il renvoie une erreur sur la récupération d'erreur |
|||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
le fichier en lien c'est un XML en tout cas
pourquoi t'utilises pas SimpleXML ??? EDIT : et si t'as MySQL 5.5 y'a LOAD XML : http://dev.mysql.com/doc/refman/5.5/en/load-xml.html
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Citation:
Voici donc la bonne erreur (et encore ...) : Citation:
Code php :
Edit : okkay merci stealth35 je vais jeter un coup d'oeil mais ça représente un sacré chantier pour mes si petites compétences. Je vais voir |
||||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
SimpleXML le parseur est déjà fait...
mais le probleme c'est que ton fichier est mal former, y'a le ouverture de balise en plein milieu d'une balise, en XML on fait pas : c'est a toi de bien former ton XML
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
Citation:
ce que t'as fait en 50 lignes va se faire en 1 ligne
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#8 | |||
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
En effet ça à pas l'air bien méchant. J'ai déjà une base
Cependant j'ai un problème. C'est un flux xml généré automatiquement (des records sur un jeu en ligne) et de par la structure des balises (http://88.191.77.194/stats/record/yu...BuU4l88RqI75.4), je ne peux pas faire d'itération, comme j'ai essayé plus bas, sur une balise puisque avec le numéro du record, elle ne sont jamais identiques. Peut-être il y a un moyen de contourner cela Code php :
Et l'erreur renvoyée à l'air d'être à ce propos : Citation:
|
|||
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
qui génère le flux ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Ben le serveur du jeu, enfin le gestionnaire de records (hébergé par nous même, peut-être qu'on peut modifier la génération du flux mais là ça devient coton non?).
|
|
|
00
|
|
|
#11 | |||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
Citation:
Code :
__________________
http://blog.stealth35.com/ |
|||
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Si il y a que ça, je veux pas récupérer les NickName en plus!
Sinon oui tu sais le jeu permet l'insertion de pas mal de caractères spéciaux (langues arabiques, hindoux etc...) d'où la récupération bizarre surement. Mais comment contourner le problème des numéros? |
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
normalement en UTF-+8 c'est bon, il dirait qui a fait 36 encodage/decodage
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Je suis pas tout ... en quoi l'encodage me permet de faire mon itération proprement?
A moins que tu répondes au problème des NickName, mais dans ce cas, je te répète que je m'en passerai des nicknames. |
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
par que t'as un caractère non autoriser dans une balise le "<", si il etait bien encoder ca serait <
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Euh ... j'arrive pas à recoller l'idée avec mon parseur. Que dois-je faire?
|
|
|
00
|
|
|
#17 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
réparer la source du problème : la génération du XML
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#18 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 12 ![]() |
Okay je crois avoir repéré la source, c'est même sur, cependant ce travail est pour une compétition en cours et les records sont en permanence actualisés (en ce moment et juqu'au 16 au soir).
Alors même si on modifie le flux, les anciens enregistrements ne persisteront-ils pas? Et j'ai pêché ça dans un énorme fichier php, je suis pas sûr d'avoir pris tout ce qu'il fallait (même si il me semble que oui) pour assurer la bonne modification. Et je veux pas le faire moi-même parce que j'vais faire une bêtise pour sûr. En bref je sais pas si c'est pas un peu risqué. Voici la portion de code : Code php :
Je ne peux pas poster le fichier dans son ensemble, il est bien trop gros (300 000 caractères pour une limite max de 60 000). |
||
|
|
00
|
|
|
#19 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
c'est bien moche..., c'est quelle application qui fait ca ?
sinon faudrait faire : Code :
fprintf($handle,"%s", htmlspacialchars($NickName));
__________________
http://blog.stealth35.com/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com