Bonjour,
J'aimerai savoir comment je pourrais faire pour créer ou modifier un fichier XML tout en insérant des valeurs récupérées dans formulaire.
Quelqu'un aurait une idée de comment faire ?
Merci.
Bonjour,
J'aimerai savoir comment je pourrais faire pour créer ou modifier un fichier XML tout en insérant des valeurs récupérées dans formulaire.
Quelqu'un aurait une idée de comment faire ?
Merci.
Est-ce que l'idée de l'utilisation de template pour modifier le fichier XML est une idée ?
Salut,
Ca sort un peu du cadre de débutant, mais je pense que ce tuto devrait répondre au besoin.
Si tu as un pb, n'hésite pas à poster un bout de code et a expliquer ce que tu souhaites faire.
voici le code xml:
Et mon code PHP en cours :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8<?xml version="1.0"?> <root> <updater version="1.0.891"></updater> <urlUpdater order="1" compressMode="cab" execName="">http://........../files/release/updater_1891.cab</urlUpdater> <logiciel version="1.0.891"></logiciel > <urlUpdate logiciel order="1" compressMode="cab" execName="setup.msi">http://............./files/release/av3_1891.cab</urlUpdate logiciel > </root>
de plus, je n'arrive pas à récupérer ma valeur $version_updater
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15$xml = '<?xml version="1.0"?>'; $xml .= '<root>'; $version_updater = $_POST["version_updater"]; $xml .= '<updater version="'.$version_updater.'"></updater>'; $xml .= '<urlUpdater order="1" compressMode="cab" execName="">http://.................../files/beta/updater_1892.cab</urlUpdater>'; $xml .= '<logiciel version="1.0.894"></logiciel>'; $xml .= '<urlUpdateLogiciel order="1" compressMode="cab" execName="setup.msi">http://............../files/beta/av3_1894.cab</urlUpdateLogiciel>'; $xml .= '</root>'; $fp = fopen("flux.xml", 'w+'); fputs($fp, $xml); fclose($fp); echo 'Export XML effectue !<br><a href="flux.xml">Voir le fichier</a>';
As tu les permissions (enfin ton serveur apache a t il) pour créer ou modifier u n fichier ?
Je viens de faire le test en changeant les permissions, même s'il demande quelques modif, ton code fonctionne.
Je suis absent jusqu'à lundi. Je ne serais donc pas en ligne désolé. Peut être que quelqu'un prendra la suite.
A+
Bon bah tout compte fait, c'est pas ce que je veux, puisse que là, je créer un nouveau XML et non une modification du XML, ce qui fait que des valeurs d'origine qui ne devrait pas changer tout le temps sont changer quand même.
Je nage dans l'XML.
salut,
Une petite synthèse
soit ton fichier xml fichier.xml:
1. commence d'abord par récupérer le fichier en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8<?xml version="1.0"?> <root> <updater version="1.0.891"></updater> <urlUpdater order="1" compressMode="cab" execName="">http://........../files/release/updater_1891.cab</urlUpdater> <logiciel version="1.0.891"></logiciel > <urlUpdate logiciel order="1" compressMode="cab" execName="setup.msi">http://............./files/release/av3_1891.cab</urlUpdate logiciel > </root>
2. Modification de l'élément updater
Code : Sélectionner tout - Visualiser dans une fenêtre à part $monxml = simplexml_load_file('fichier.xml');
3. Modification d'un attribut de updater
Code : Sélectionner tout - Visualiser dans une fenêtre à part $monxml->updater[0] ="nouvelle valeure";
4. Sauvegarde
Code : Sélectionner tout - Visualiser dans une fenêtre à part $monxml->updater['version'] ="nouvelle valeure";
voilà, A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part $monxml->asXml('nouveau fichier xml');
[Edit] : oublie de préciser le nom du fichier à asXml
Tes explications sont très claires, mais n'étant pas un expert en traitement XML, j'ai tenté de faire fonctionner le code que tu propose afin de mieux comprendre en particulier l'intérêt de la fonction asXml();
Sauf que "l'interpréteur" de simplexml_load_file() hurle sur cette ligne et je ne comprends pas pourquoi ?Je serais content de comprendre pourquoi. Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part <urlUpdate logiciel order="1" compressMode="cab" execName="setup.msi">http://............./files/release/av3_1891.cab</urlUpdate logiciel >
Salut,
tu as tout à fait raison, faudrait passer le nom du fichier en paramètre pour que le fichier soit mise à jour avec le nouvelles modifs. sans paramètre asXml génère un flux.
PS: j'ai modifié le script.
Merci à vous, mais j'ai trouvé mon bonheur :
http://www.developpez.net/forums/d75...p/#post4402484
Merci à tous.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager