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 :

[Php 4 + xml]Insertion d'un element


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [Php 4 + xml]Insertion d'un element
    Voila je suis sous php 4.4.3 j'ai un xml dans lequel je recherches un noeud précis gràçe à son ID:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <A>
      <B>
        <X id="01" />
        <X id="02" />
        <X id="03" />
      </B>
    </A>
    Une fois la cible trouvée, je voudrais insérer un nouveau noeud comme enfant à l'intérieur de celui-ci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $p = $DOCUMENT_ROOT.'/dir/mon_xml.xml';
    $DomDocument = domxml_open_file($p);
    $res = $DomDocument->Get_element_by_id("01");
    $tmp = $DomDocument->create_element("test");
    Une fois là il suffit d'insérer le noeud $tmp dans $res mais je n'ai pas réussi. Le meilleur résultat que j'ai obtenue est l'insertion de $tmp en tant que frére de $res:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $parent = $res->parent_node();
    $newnode = $parent->append_child($tmp);
    si quelqu'un pouvait m'aider sur ce problème, merci

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    pourquoi tu ne fais pas un append_child sur $res ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    j'ai fait quelque essais avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tmp = $DomDocument->create_element("test");
    $res->node = $res->append_child($tmp);
    et ça à l'air de bien modifier mon noeud $res, mais mon xml de départ lui reste inchangé.
    Alors que je voudrais prendre mon ".xml", trouver l'endroit ou je dois faire l'insertion, puis retourner mon ."xml" de départ altéré.

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par multani2842
    j'ai fait quelque essais avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tmp = $DomDocument->create_element("test");
    $res->node = $res->append_child($tmp);
    et ça à l'air de bien modifier mon noeud $res, mais mon xml de départ lui reste inchangé.
    après avoir fait un dump_file ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Effectivement après avoir utilisé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $DomDocument->dump_file($DOCUMENT_ROOT.'/eee.xml',false, true);
    les changements effectués sont enregistrés.

    En fait ça me laisse perplexe puisque je regardai mes résultat avec un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $DomDocument->html_dump_mem(true);
    et j'avoue ne pas avoir fait gaffe sur ce point, un ->dump_mem() aurait été plus approprié.

    En tout cas merci pour l'aide

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

Discussions similaires

  1. insertion de nouveaux elements dans un fichier xml
    Par Yoma41 dans le forum VB.NET
    Réponses: 4
    Dernier message: 19/08/2009, 15h07
  2. XML insertion de noeud
    Par totoche dans le forum ASP
    Réponses: 2
    Dernier message: 27/09/2005, 11h57
  3. [XML][debutant] Organisation d'elements que choisir ???
    Par Shiryu44 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 18/04/2005, 15h23
  4. [Struts][struts-config.xml] question sur l element action
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 3
    Dernier message: 08/10/2004, 17h25
  5. PHP dans XML ou XSL
    Par mathieu dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 31/08/2003, 22h07

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