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

Langage PHP Discussion :

Modifier un fichier XML


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Août 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Concepteur traitement de signal
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2004
    Messages : 192
    Points : 106
    Points
    106
    Par défaut Modifier un fichier XML
    Bonjour !

    J'ai un souci (comme tous les posts ici lol)

    J'ai un fichier xml genre journal de bord que je remplis avec un formulaire standard. Ce fichier est ensuite affiché en le mettant en forme avec un fichier xslt. Jusque là, rien d'extraordinaire. Maintenant, je voudrais pouvoir modifier le contenu de mon fichier xml. Par exemple, imaginons ce fichier xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <item>
    <titre>Titre1</titre>
    <description>Description1</description>
    </item>
     
    <item>
    <titre>Titre2</titre>
    <description>Description2</description>
    </item>
    Ce que je fais, c'est qu'à l'affichage (mise en forme) de mon xml, j'ajoute un lien vers une page "modifier" avec en variable le titre et la description de l'item à modifier. J'affiche alors dans un formulaire l'ancien titre et l'ancienne description. J'arrive à récupérer le nouveau titre et la nouvelle description mais je n'arrive pas à modifier mon fichier xml. Ce que j'avais fait dans un premier temps, j'avais essayé de simplement faire un str_replace, mais c'est comme s'il ne trouvait pas l'ancien text dans mon fichier xml, je suppose que c'est un problème au niveau des sauts de ligne ou qqch du genre.

    Y aurait-il un moyen plus intelligent de faire ça ? J'arrive très bien à remplacer juste la description par exemple (avec str_replace), mais pas les deux à la fois.

    Merci pour votre aide ! (je suis plus que débutant en PHP/XML & Co)

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    utilise SimpleXML

  3. #3
    Membre régulier
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Août 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Concepteur traitement de signal
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2004
    Messages : 192
    Points : 106
    Points
    106
    Par défaut
    Merci pour le lien, c'est tout à fait ce que je cherchais.
    Toutefois, j'ai encore un problème... je n'arrive pas à modifier un node. Je parcours mon fichier xml, je vérifie que je suis sur le bon attribut, et je modifie le contenu des nodes, seulement ça ne marche pas. J'ai essayé d'afficher le contenu des nodes pour m'assurer que je pointais vers les bons, et c'est le cas.
    Qu'est-ce qui cloche avec ce code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach ($xml->item as $item) {
      if((string)$item['num'] == $numero){
        $item->title = $titre;
        $item->operateur = $operateur;
        $item->description = 'toto';
        $item->pubDate = $date;
        }
    }

  4. #4
    Membre régulier
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Août 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Concepteur traitement de signal
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2004
    Messages : 192
    Points : 106
    Points
    106
    Par défaut
    bon ben j'ai fait ça avec le DOM, au moins c'est plus propre
    Merci !

Discussions similaires

  1. [DOM4J] Modifier un Fichier XML
    Par vain_mich dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 20/06/2007, 17h00
  2. [Web] modifier un fichier xml via HTML
    Par cyberfilou dans le forum APIs
    Réponses: 2
    Dernier message: 04/05/2007, 12h12
  3. [XML-XSLT]Modifier un fichier XML grâce à un formulaire
    Par Maurice Fallou dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2007, 17h57
  4. [VB NET]: Modifier un fichier XML via un DataSet
    Par ADONET dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/02/2006, 19h54
  5. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 15h13

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