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 XML] insertbefore()+ XPATH


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [DOM XML] insertbefore()+ XPATH
    Bonjour ,

    J'ai un souci avec 'inserbefore' de DOM-PHP5 + Xpath
    je n'arrive pas inserer le noeud "polo" en firstchild.

    Mon erreur viendrait-elle du Xpath??


    merci d'avance




    ce que je voudrai:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <nouvelles>
       <polo/>
       <nouvelle>test1</nouvelle>
       <nouvelle>test2</nouvelle>
    </nouvelles>


    mon .php
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
     
    $xmlstr = <<<XML
    <nouvelles>
       <nouvelle>test1</nouvelle>
       <nouvelle>test2</nouvelle>
    </nouvelles>
    XML;
     
     
     
    $dom = new DOMDocument("1.0","UTF-8");
    $dom->loadXML($xmlstr);
     
    $xpath = new domXPath($dom);
    $query = "/nouvelles/nouvelle";
    $xpathQuery = $xpath->query($query);
     
    // nouveau element a inserer avant le premier noeud "nouvelle"
    $newele = $dom->createElement("polo");
     
    $cible = $xpathQuery->item(0);
    $dom->insertbefore($newele,$xpathQuery);
     
     
    echo $dom->saveXml();
    $dom->save('domins.xml');
    ?>

  2. #2
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cible->parentNode->insertBefore($newele, $cible);

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci.

    j'aurai appri que 'insertbefore' ne se colle pas un un domdocument
    mais à un domnode.
    j'avais beau essayer les parametres de 'insertbefore' dans tous les sens ca ne passait pas avec $dom->insertbefore()

    merci encore

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

Discussions similaires

  1. [DOM] Récupérer les attributs d'un fichier XML en XPATH AVEC DOM
    Par jean22 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 26/06/2013, 17h02
  2. [DOM XML] insertBefore (débutant)
    Par Inh[Star]Noz dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 02/04/2010, 17h04
  3. [ASP] DOM selectSingleNode et Xpath
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/08/2007, 18h02
  4. [DOM] Recherche dans un fichier XML via XPath
    Par Sayrus dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 18/06/2007, 17h43

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