IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM] Intégrer du PHP dans un .xml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Points : 97
    Points
    97
    Par défaut [DOM] Intégrer du PHP dans un .xml
    Bonsoir,

    Je souhaiterais insérer du code php dans un fichier .xml afin de pouvoir éditer le contenu de mon fichier .xml en fonction du contenu de ma BDD mysql

    Voici le code xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     <?xml version="1.0" encoding="UTF-8" ?> 
    - <config>
      <param name="mp3" value="robot_rock.mp3|technologic.mp3|television.mp3|steam_machine.mp3|around_the_world.mp3|too_long.mp3|face_to_face.mp3|interlude.mp3|one_more_time.mp3|brainwashers.mp3|alive.mp3|da_funk.mp3|human_after_all.mp3" /> 
      <param name="title" value="Daft Punk - 01 - Robot rock|Daft Punk - 02 - Technologic|Daft Punk - 03 - Television rules the nation|Daft Punk - 04 - Steam machine|Daft Punk - 05 - Around the world|Daft Punk - 06 - Too long|Daft Punk - 07 - Face to face (Harder remix)|Daft Punk - 08 - Interlude|Daft Punk - 09 - One more time (Aerodynamic)|Daft Punk - 10 - The brainwashers|Daft Punk - 11 - Alive|Daft Punk - 12 - Da Funk|Daft Punk - 13 - Human after all" /> 
      <param name="height" value="290" /> 
      <param name="width" value="330" /> 
      <param name="bgcolor" value="303030" /> 
      <param name="bgcolor1" value="3a3a3a" /> 
      <param name="bgcolor2" value="444444" /> 
      <param name="buttoncolor" value="dddddd" /> 
      <param name="buttonovercolor" value="84ff00" /> 
      <param name="slidercolor1" value="dddddd" /> 
      <param name="slidercolor2" value="cccccc" /> 
      <param name="sliderovercolor" value="84ff00" /> 
      <param name="loadingcolor" value="000000" /> 
      <param name="textcolor" value="888888" /> 
      <param name="playlistcolor" value="2e2e2e" /> 
      <param name="currentmp3color" value="84ff00" /> 
      <param name="scrollbarcolor" value="cccccc" /> 
      <param name="scrollbarovercolor" value="84ff00" /> 
      <param name="showvolume" value="1" /> 
      <param name="showinfo" value="1" /> 
      </config>

    J'aurais aimé que cette partie de code soit variable et non fixe :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <param name="mp3" value="robot_rock.mp3|technologic.mp3|television.mp3|steam_machine.mp3|around_the_world.mp3|too_long.mp3|face_to_face.mp3|interlude.mp3|one_more_time.mp3|brainwashers.mp3|alive.mp3|da_funk.mp3|human_after_all.mp3" /> 
      <param name="title" value="Daft Punk - 01 - Robot rock|Daft Punk - 02 - Technologic|Daft Punk - 03 - Television rules the nation|Daft Punk - 04 - Steam machine|Daft Punk - 05 - Around the world|Daft Punk - 06 - Too long|Daft Punk - 07 - Face to face (Harder remix)|Daft Punk - 08 - Interlude|Daft Punk - 09 - One more time (Aerodynamic)|Daft Punk - 10 - The brainwashers|Daft Punk - 11 - Alive|Daft Punk - 12 - Da Funk|Daft Punk - 13 - Human after all" />

    Le code ci dessous est celui d'un lecteur mp3. Je souhaiterais pouvoir modifier le contenu de la liste de lecture via PHP et Mysql.

    Exemple : value = $playlist (<-- possible ?)

    Mais comment faire ?

    Merci de votre aide et très bonne journée,
    Krustig

  2. #2
    Membre régulier
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Points : 97
    Points
    97
    Par défaut
    Bonjour !

    J'ai trouvé une solution : dom

    Mais j'ai un problème : mon noeud ne s'ajoute pas entre la balise <config> (cf code post1)

    Voici mon code :

    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
    <?php
    $dom = new DomDocument;
    $dom->load("playlist1.xml");
     
    //creation d'un élement
    $newtracklist = $dom->createElement("test");
     
    //ajout d'un attribut
    $newtracklist->setAttribute("nom", "mp3");
    $newtracklist->setAttribute("value", "title1|title2");
     
    //insertion du noeud dans le doc xml
    $config = $dom->getElementsByTagName("config")->item(0);
    $config->appendChild($newtracklist);
    ?>
    J'ai opté pour une deuxième solution : modifier directement le noeud existant.

    Pb : je localise bien le noeud mais je ne sais pas comment modifier l'attribut... setAttribute() ne semble pas fonctionner...

    Voici mon code :

    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
    <?php
    $dom = new DomDocument;
    $dom->load("playlist1.xml");
    $tracklist = $dom->getElementsByTagName("param");
    foreach($tracklist as $param)
    {
    	if($param->getAttribute("name") == "mp3")
    	{
    		echo $param->getAttribute("value");
    		$param->setAttribute("value", "Tile1|Title2");
    	}
     
    	echo "<br/>";
    }
    ?>
    Merci de votre aide

    PS : j'ai utilisé http://eusebius.developpez.com/php5dom/ pour rédiger le code ci-dessous

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Points : 97
    Points
    97
    Par défaut
    La solution deux marche, comme la une

    Il suffisait juste de rajouter afin d'enregistrer le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dom->save("playlist1.xml");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. intégrer du php dans une feuille de style
    Par grinder59 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 18/05/2007, 21h51
  2. [XML] Intégrer une image dans un xml
    Par aaa000 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/05/2007, 07h16
  3. Réponses: 6
    Dernier message: 04/02/2007, 09h55
  4. [DOM] Encodage UTF-8 dans fichier XML et PHP
    Par norkius dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 03/01/2007, 15h44
  5. Intégrer du php dans un code HTML ...
    Par Le Parrain dans le forum Langage
    Réponses: 15
    Dernier message: 13/04/2006, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo