Aide - Recherche - Membres - Calendrier
Version complète : extraire des données d'un fichier xml en php
Forum Développeur - Administration serveur, programmation et base de données > Programmation > PHP
fongus
Bonjour, Je voudrais tout d'abord vous féliciter pour la qualité aussi bien au niveau graphique que du contenu de votre site. Je travail actuellement sur un projet xml php. Le but de ce projet est d'extraire des données d'un fichier xml (qui référence les informations pour créer une base de donnée sous MYSQL) de les mettre dans un tableau en php et de réutiliser ces informations pour créer cette base. Bref pour le moment j'arrive à parser mon fichier xml et à mettre les information dans un tableau. Le problème survient lorsque je souhaite utiliser la requete create table avec mes données de tableau. voici mon finchier xml data2.xml
CODE
<?xml version="1.0" encoding="iso-8859-1"?> <TABLES>  <TABLE Nom="TModPaie" Typ="TableRef">   <CX Nom="Code" type="T" Largeur="3"/>   <CX Nom="ModPaie" type="T"/>   <DATA>    <z:row Code="CH" ModPaie="Chèque Bancaire"/>    <z:row Code="VIR" ModPaie="Virement"/>    <z:row Code="" ModPaie="(Autre)"/>   </DATA>  </TABLE> </TABLES>
voici maintenant le fichier php qui traite les données xml. j'ai crée une base donnée vide et j'insere mes donnée via la requète create table
QUOTE
<?php ); [/color]) or die([/color]()); [/color]); function [/color]) {    global [/color];    global [/color];    global [/color];    [/color]=array();    [/color]//print \"<b><u>Elément (niveau $nb) :</u></b>&nbsp;\";    /*for ($i = 0; $i < $nb; $i++)    {      print \"&nbsp;&nbsp;&nbsp;&nbsp;\";    }*/    // affiche TABLES, TABLE, CX...    //print \"<b>\" . $nom . \"</b>\";    [/color]++;    if([/color]))    {            echo [/color];    [/color];    [/color]//echo $nb;      [/color])      {        [/color]//echo ' (' . $cle . ' : ' . $valeur . ')<br>';        [/color]){            [/color];            echo [/color];            echo[/color];            [/color]++;        }else{            if([/color]){                [/color];                echo [/color];                echo[/color];                [/color]++;            }else{                if([/color]){                    [/color];                    echo [/color];                    echo[/color];                    [/color]++;                }            }            echo [/color];            echo[/color];        }       }             [/color] (  $cx[0] varchar(50) NOT NULL default '',  `nachname` varchar(50) NOT NULL default '',  `punkte` int(8) NOT NULL default '0' ) TYPE=MyISAM;\"[/color]);    echo [/color];    }     } function [/color]) {    global [/color];    [/color]--; } [/color];  [/color]();  [/color]);  [/color]);  if (!([/color])))  {    die([/color]);  }  while ([/color])))  {    if (![/color])))    {      die([/color],                    [/color])),                    [/color]),                    [/color])));    }  } [/color]); [/color]
voila je sais le code est un peu long a comprendre mais les choses principales se passent dans la fonction gestionnaire_debut. j'ai remarqué qu'une fois sorti de la boucle les tableau ne sont plus rempli. pourquoi ???? Si vous pouviez m'aidez. je vous remercie d'avance
qwix
He yeca, regarde un IUPien dernière génération lol wink.gif

Bienvenue à toi wink.gif

smile.gif
qwix
Première question, as-tu d'utiliser PHP5 avec simple XML ou pas ?
Ca te simplifierais déjà la vie pour parser le fichier XML wink.gif

smile.gif
qwix
Ce serait possible d'avoir ta fonction gestionnaire_texte s'il te plait ?

smile.gif
fongus
non je ne l'ai pas utiliser pour la simple et bonne raison que tout le monde n'utilise pas encore php5 notamment au niveau des serveurs et la deuxième raison est que simplexml est encore au stade expérimentale.
qwix
Dommage, c'est super performant, est niveau stade expérimentale, tu peux avoir confiance, ça tourne du tonerre wink.gif

smile.gif
fongus
d'accord mais tu veux pas m'aider sur ce probleme de tableau avant d'utiliser simple xml.
merci
qwix
Si si, je regarde là, mais j'ai du mal à voir ton problème, vu que j'ai des erreurs dans tous les sens à cause de gestionnaire_texte qui manque wink.gif

smile.gif
qwix
Ha ok lol, le con j'avais pas vu que la requête SQL, ne se remplissait pas :mrgreen:
fongus
le gestionnaire de texte n'est vraimment pas obligatoire
donc limite tu peux l'enmever.
qwix
Je viens de regarder là, et à mon avis tu t'es trompé dans ta méthode, car tu ne peux pas générer une requête SQL comprenant les données qui t'intéressent simultanément. Ou alors en employant des ruses de sioux à base de variable globales ce qui n'est pas conseillé.

Il faut que tu t'y prenne autrement je pense.

Mais bon, j'ai peut-être rien compris à ton problème, c'est jamais facile sur des trucs comme ça quand on a juste un script sous la main.

smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.