comment exploser un txt en xml !

charles-henri
Invité n'ayant pas de compte PHPfrance

27 sept. 2006, 09:38

Bonjour à tous
Je suis désespéré.
J'ai un fichier texte (voir ce apres) et je dois pouvoir l'exposer et créer avec plusieurs fichiers xml. Est ce possible ? car je n'y arrive pas.
explode(',',$ligne)
voilà le seul conseil que l'on m'a donné ???
Et là je coince.

Je vous remercie.

Code : Tout sélectionner

fichier txt : 4000;1712333;FR0010029912;SYNE;20060810;11127.35;1.732675 4000;1712333;FR0010029912;SYNE;20060817;11175.05;1.7772 4000;1712333;FR0010029912;SYNE;20060824;11185.44;1.77343 4000;1712333;FR0010029912;SYNE;20060831;11210.9;1.781717 4000;1712333;FR0010029912;SYNE;20060907;11192.31;1.793219 4000;1712333;FR0010029912;SYNE;20060914;11212.32;1.7969 4000;1712333;FR0010029912;SYNE;20060921;11226.71;1.794382 25000;1019900;FR0010199077;ECO;20060914;119.79;11.209018 25000;1019900;FR0010199077;ECO;20060915;120.13;11.209018 25000;1019900;FR0010199077;ECO;20060917;120.13 25000;1019900;FR0010199077;ECO;20060918;120.31 25000;1019900;FR0010199077;ECO;20060919;119.84
et voilà le résultat que je dois obtenir :
la création d'un fichier : 4000.xml

Code : Tout sélectionner

<1712333> <mvt date ="20060810" achat="11127.35" nbr="1.732675"/> <mvt date ="20060817" achat="11175.05" nbr="1.7772"/> ... </1712333>
Un fichier idem pour : 25000.xml
et un fichier valeur.xml

Code : Tout sélectionner

<valeurs> <id="1" nom="4000" numero="1712333" code="FR0010029912" ste="SYNE"/> <id="2" nom="25000" numero="1019900" code="FR0010199077" ste="ECO"/> ... </valeurs>
est-ce possible par le php de faire cela ? ou est-ce trop difficile ?
Merci beaucoup

Mammouth du PHP | 592 Messages

27 sept. 2006, 10:03

salut

Je pense que tu devrai allez voir ce site pour la manipulation des fichiers en php .

sinon le code devrai peut etre ressembler a ça??

mais je ne suis pas sur!!! :?

• <?
• $fichier = "chemin/un_fichier.ext";
• $id_fichier = fopen($fichier,"r");
• while (!feof($id_fichier)) {
• $contenu = fgets($id_fichier, 4096);
• echo $contenu;
• }
• ?>
http://www.laltruiste.com/document.php? ... ation.html

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 sept. 2006, 11:05

La commande explode() te permet de découper une ligne suivant un séparateur et de coller chaque élément dans les cellules d'un tableau.

D'après tes lignes, il te suffirait découper le ";" puis de construire ton xml en fonction des valeurs du tableau, en bouclant sur celui-ci : tant que la première valeur est identique à la précédent, tu complètes le fichier, si elle est différente, tu créer un nouveau fichier :)

Ca demande peut être un peu de réflexion, mais ca n'est pas spécialement compliqué et c'est tout à fait réalisable :)