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] Syntaxe de Xpath


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut [DOM] Syntaxe de Xpath
    Bonjour,

    je débute dans la manipulation de fichiers XML. Pour l'instant j'arrive à écrire dans le fichier mais pas au bon endroit, et d'après ce que j'ai compris on peut utiliser Xpath pour se passer et ensuite insertbefore pour insérer juste avant la lignne ou pointe Xpath.Ai-je bien compris?

    De plus, j'ai une erreur
    Fatal error: Call to undefined method DOMDocument:path().

    Je pense que je l'utilise pas de la bonne façon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $dom->xpath('/menu_intranet/menu_niveau_0/menu_niveau_1/menu_niveau_2/menu_niveau_3/id="bonnes_pratiques"');
    Et encore une autre chose ce que j'arrive à écrire dans mon fichier n'est pas bon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	<menu_niveau_3>
     
    	<titre>CB Fact</titre>
    							<lien>Articles/que_faire/cb_fact.php</lien>
    	NONNON0</icone>
     
    	</menu_niveau_3>
    j'ai des balises qui manquent

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
    $titre_art_replace=str_replace(" ","_",$_POST['titre_art']);
    $dom = new DomDocument();
    $dom->load("C:\wamp\www\config\menu.xml");
    $dom->xpath('/menu_intranet/menu_niveau_0/menu_niveau_1/menu_niveau_2/menu_niveau_3/id="bonnes_pratiques"');
    $id = $dom->getElementById("bonnes_pratiques");
    $nouvel_art = $dom->createElement("menu_niveau_3");
    $titre = $dom->createElement("titre");
    $lien = $dom->createElement("lien");
    $visible_navigation = $dom->createElement("visible_navigation");
    $visible_plan_du_site = $dom->createElement("visible_plan_du_site");
    $NECESSITE_DROIT = $dom->createElement("NECESSITE_DROIT");
    $icone = $dom->createElement("icone");
    $titre_text =$dom->createTextNode("".$_POST['titre_art']."");
    $lien_text = $dom->createTextNode('Articles/bonnes_pratiques/'.$titre_art_replace.'.php');
    $visible_navigation_text= $dom->createTextNode('OUI');
    $visible_plan_du_site_text= $dom->createTextNode('NON');
    $NECESSITE_DROIT_text = $dom->createTextNode(0);
    $titre->appendChild($titre_text);
    $lien->appendChild($lien_text);
    $visible_navigation->appendChild($visible_navigation_text);
    $visible_plan_du_site->appendChild($visible_plan_du_site_text);
    $NECESSITE_DROIT->appendChild($NECESSITE_DROIT_text);
    $nouvel_art->appendChild($titre);
    $nouvel_art->appendChild($lien);
    $nouvel_art->appendChild($visible_navigation_text);
    $nouvel_art->appendChild($visible_plan_du_site_text);
    $nouvel_art->appendChild($NECESSITE_DROIT_text);
    $nouvel_art->appendChild($icone);
    $dom->insertBefore($nouvel_art,$id);
    $dom->save("C:\wamp\www\config\menu.xml");?>
    ça fait un moment que je bloque merci de m'aider s'il vous plaît

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 238
    Points : 15 536
    Points
    15 536
    Par défaut
    pour utiliser XPath, essaye la classe http://php.net/class.DOMXPath

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Merci!cela m'affiche bien le noeud où je veux me placer.
    Mais comment faire ensuite pour préciser dans insertBefore que je veux me placer juste avant ce que me donne domxpath?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [menu_niveau_3] Ajout d'un article Articles/bonnes_pratiques/ajout_article.php OUI NON 8 Ajout réalisé Articles/bonnes_pratiques/ajout_ok.php NON NON 8
    et il y a toujours une erreur dans ce qu'il m'écrit,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <menu_niveau_3><titre>test domxpath</titre><lien>Articles/bonnes_pratiques/test_domxpath.php</lien>OUINON0<icone/></menu_niveau_3>

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    personne peut me donner une piste?

Discussions similaires

  1. xpath dom syntaxe tout sauf certaines balises
    Par mapmip dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2016, 14h34
  2. [DOM] Utilisation d'Xpath
    Par Yoshio dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 23/08/2007, 14h33
  3. [DOM] Syntaxe Json et DOM
    Par lekunfry dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/08/2007, 04h53
  4. [ASP] DOM selectSingleNode et Xpath
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/08/2007, 17h02
  5. [DOM XML] insertbefore()+ XPATH
    Par maiki dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/03/2007, 00h12

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