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] Erreur avec la méthode setAttribute


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut [DOM] Erreur avec la méthode setAttribute
    Je suis débutant total en XML.
    J'ai une erreur lorsque j'essaie de modifier une valeur dans mon fichier .xml :
    Fatal error: Call to undefined function setAttribute() in D:\Program Files\EasyPHP 2.0b1\www\Test\XML\index.php on line 13

    Voici mon code xml, ultra simple (fichier : base.xml) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <norme>
    	2,8
    </norme>
    Et mon code php, pas plus compliqué (fichier : index.php):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    	$dom = new DomDocument;
    	$dom->load("base.xml");
    	$LaNorme = $dom->getElementsByTagName('norme');
     
    	$nouvelleNorme = $dom->createElement("norme");
    	$nouvelleNorme = setAttribute("norme", "3");
     
    	foreach($LaNorme  as $norme)
    		echo 'Norme : ' .$norme->nodeValue . "<br />";
    ?>
    si j'enlève les deux lignes suivantes :
    $nouvelleNorme = $dom->createElement("norme");
    $nouvelleNorme = setAttribute("norme", "3");
    L'affichage fonctionne.

    Merci pour votre aide.

  2. #2
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    tu utilise la bibliothèque DOM. tu dois avoir conscience que toute les fonctions que tu exploitera seront des méthodes publiques d'objet DOM___ . donc tout ce que tu apellera se fera via l'opérateur directionnel ->

    je te conseille de regarder par ici et tu comprendra mieux

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Merci de m'avoir répondu aussi rapidement mais le problème c'est que je suis justement allé sur le lien que tu m'a passé pour faire mon code.
    Quelqu'un pourrai le faire pour moi svp ??

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ce n'est pas une fonction mais une méthode (donc lié à un objet) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nouvelleNorme = setAttribute("norme", "3");
    Est donc incorrect.

    La correction est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nouvelleNorme->setAttribute("norme", "3");
    Mais il manque une partie à votre code (n'est-il pas montré ?) : l'élément créé n'est pas rattaché au document (enfin à l'arbre).

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Ok merci beaucoup je n'est plus l'erreur mais maintenant le résultat affiché est 2,8 !!
    Sa devrai être 3 non ??

  6. #6
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    as-tu sauvegardé ton fichier xml?

    ce que julp t'a expliqué, c'est justement "l'opérateur directionnel ->"

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

Discussions similaires

  1. Erreur avec la méthode Sort
    Par phal2ip dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 20/10/2008, 09h21
  2. Message d'erreur avec la méthode UpdateBatch (ADO)
    Par GnarlyYoyo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/11/2007, 21h12
  3. [DOM] erreur avec DOM PHP5
    Par opeo dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 20/07/2007, 16h59
  4. [Zip] Erreur avec la méthode add() de PclZip
    Par Anduriel dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 20/01/2007, 16h42
  5. Erreur avec la méthode OpenRecordset
    Par NPortmann dans le forum VBA Access
    Réponses: 4
    Dernier message: 05/05/2006, 17h13

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