|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mai 2007 Messages : 6 ![]() |
Salut à tous,
je voudrais extraire les données d'un fichier xml et les insérer dans une table, le fichier a la forme suivante: Code XML :
Mon problème c'est que je n'arrive à insérer dans la table que les premiers champs avant la balise <fields>, et juste aprés, à chaque fois que je met name et value pour chaque field, le code ne m'insére que le premier field uniquement, dans tous les champs restant de la table. voilà mon code, et merci de m'aider Code :
|
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 827 ![]() |
Quelles sont tes contraintes techniques ?
Parceque bon, là tu as fait un parser XML avec des preg_split( ) & cie, doit sûrement y avoir une erreur qque part. De plus il y a bcp de @ qui cachent ces éventuelles erreurs. Il faut absolument les enlever !! Une API comme SimpleXML te permettra de lire facilement ton document XML et de l'exploiter à ta guise : http://www.php.net/simplexml
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 6 ![]() |
Citation:
Merci bcp pour la réponse , mais en fait avec simplexml, je pense qu'il faut que le fichier xml soit inclu dans une page php, or moi je dois le récupérer à partir d'une url ex: http://aaaa.com/bbb.xml, donc je ne pense pas que ça sera évident de faire ça, en plus c'est un fichier de 25 méga minimum, donc je vais surement perdre bcp de temps en le téléchargeant, surtout aussi que je veux faire des taches automatisées |
|
|
|
00
|
|
|
#4 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Nottez que si le fichier xml fait plus de 50 ou 100 Megs, c'est plutot xmlReader qu'il faut utiliser puisqu'il lit le xml tel un flux : performances incomparables !
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mars 2003 Messages : 68 ![]() |
bonjour,
C'est typique comme résultat quand on ne boucle pas dans un sous sous noeud, ici fields contient plusieurs field; je suis certains que tu aurais le même problème si dans ton noeud <TDCategories>tu aurais plusieurs <TDCategory>; Ce qui n'est pas visible dans ton exemple. Personnellement j'aurai fait une table pour tout sous noeud qui contient n-élément. Ou bien je me trompe et je ne comprend pas ce que tu veux faire, dans ce cas sorry :-) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com