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] Ajouter un noeud dans un noeud défini [Fait]


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut [DOM] Ajouter un noeud dans un noeud défini
    Salut,

    Dans un fichier xml déjà existant, je cherche à l'aide de PHP5 et de la libraire DOM à ajouter un nouveau noeud dans un noeud défini.

    Le fichier xml.
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <racine>
      <article>
        <commentaire>iuyiuyiuy</commentaire>
      </article>
    </racine>
    J'aimerais à l'aide d'un formulaire ajouter des commentaires et les stocker dans le fichier xml. Je veux donc ajouter à chaque validation du formulaire un nouveau noeud "commentaire" à la fin du noeud "article".

    Résultat souhaité:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <racine>
      <article>
        <commentaire>iuyiuyiuy</commentaire>
        <commentaire>Nouveau commentaire</commentaire>
      </article>
    </racine>
    J'imagine que c'est le B.A BA mais je suis novice et cela fait bien des heures que je scrute les manuels, que je googolise, que je teste mais je ne comprends toujours pas, j'ai définivement besoin d'un coup de pouce.

    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
    J'ai un tuto là-dessus qui est en cours de rédaction : http://eusebius.developpez.com/php5dom/

    Jette un coup d'oeil, puis reposte si tu as des questions. La partie "rechercher un noeud en particulier" est déjà traitée dedans.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci.

    Je vais lire cela ce soir.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bon je crois avoir réussi comme il faut, je te remercie encore ton tutoriel m'a aidé.

    Voilà ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?
    $doc = new DomDocument();
    $doc->load("test.xml");
     
    $nodelist = $doc->getElementsByTagName('article');
     
    $commentaire = $doc->createElement('commentaire',$_POST['commentaire']);
    $nodelist->item(0)->appendChild($commentaire);
     
    $doc->save('test.xml');
     
    ?>
    Ca marche comme il faut mais y'a-t-il quelque chose à redire sur mon code ?

    Un léger bémol, ça ne respecte pas l'indentation des balises :/

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <racine>
      <article>
        <commentaire>iuyiuyiuy</commentaire>
      <commentaire>Je teste...</commentaire><commentaire>Je teste encore...</commentaire><commentaire>encore et toujours...</commentaire></article>
    </racine>
    J'aimerais un truc de ce genre:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <racine>
      <article>
        <commentaire>iuyiuyiuy</commentaire>
        <commentaire>Je teste...</commentaire>
        <commentaire>Je teste encore...</commentaire>
        <commentaire>encore et toujours...</commentaire>
      </article>
    </racine>
    Ce n'est pas grave mais bon j'aime le travail bien fait. Il y a quelquechose à faire pour régler ce problème ?

  5. #5
    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 Hombre
    Ce n'est pas grave mais bon j'aime le travail bien fait. Il y a quelquechose à faire pour régler ce problème ?
    Normalement ça devrait se formater comme il faut tout seul... A vue de nez je vois pas pourquoi ça marche pas.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Après recherche il semble que ce soit normal avec cette librairie.
    Il y'a des méthodes d'indentation avec XSLT, mais je ne maîtrise pas du tout cette technologie donc pour l'instant je vais en rester là

  7. #7
    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 Hombre
    Après recherche il semble que ce soit normal avec cette librairie.
    Tu peux me dire où tu as vu ça ? Ca m'intéresse, vu que chez moi j'ai pas ce souci en général.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 6
    Points : 4
    Points
    4

  9. #9
    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
    C'est une particularité de MS XML, effectivement la distribution de PHP pour Windows doit s'appuyer dessus. Merci de l'info !

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

Discussions similaires

  1. [DOM] Recuperer l'index d'un noeud dans sont parent (DOM)
    Par Dougui_bzh dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/07/2008, 09h21
  2. [DOM] Supprimer plusieurs fils dans un noeuds
    Par Mo_Poly dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 03/03/2008, 17h53
  3. [DOM] Ajouter un nœud dans un fichier XML
    Par Mo_Poly dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 18/09/2007, 05h23
  4. [DOM] Ajouter contenu dynamiquement dans div en javascript
    Par kalan dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/11/2006, 11h06
  5. [DOM] PHP5 et XML comment ajouter un noeud dans un noeud précis?
    Par titou250 dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 20/04/2006, 21h02

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