Je tente de mettre à jour les données d'un fichier xml en php. Mon hébergeur est sous php4 (PHP Version 4.4.4 domxml
DOM/XML enabled
DOM/XML API Version 20020815
libxml Version 20616
HTML Support enabled
XPath Support enabled
XPointer Support enabled
DOM/XSLT enabled
libxslt Version 1.1.11
libxslt compiled against libxml Version 2.6.14
DOM/EXSLT enabled
libexslt Version 1.1.11)
. Mon developpement étant à la base fait en PHP5 ( et il marchait très bien) je galere pour basculer mon code en PHP4
le serveur dit : Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/httpd/vhosts/.../maj/fondsanneeencoursphp4.php on line 140
$doc = domxml_open_file("../morceaux.xml");
////localisation du noeuds à supprimer
$morceau= $doc->get_elements_by_tagname("morceau")->item($i);
$dernierevl= $doc->get_element_by_id("dernierevl")->item($i);
$morceau->remove_child($dernierevl);
//Creation des noeuds et valeurs de noeuds
$dernierevl=$doc->create_element('dernierevl');
$nouvelledate= $doc->create_element('date');
$nouvellevl= $doc->create_element('vl');
$valeurdate= $doc->create_text_node($date);
$valeurvl= $doc->create_text_node($vl);
//Placement des noeuds et valeurs créés au bon endroit
$morceau=$doc->get_elements_by_tagname('morceau')->item($i);
$morceau->append_child($dernierevl);
$dernierevl->append_child($nouvelledate);
$dernierevl->append_child($nouvellevl);
$nouvelledate->append_child($valeurdate);
$nouvellevl->append_child($valeurvl);
echo "RECAPITULATIF DE L' ENREGISTREMENT <br><b>".$fonds."</b><br>La Valeur Liquidative au: <b>".$date."</> est <b>".$vl."</b>";
///// Enregistrer le xml modifié
$doc->dump_file('../morceaux.xml');
Quelqu'un peut il m'éclairer?
Merci d'avance.
Vans
Euh... premièrement, ton code ne ressemble que de loin à du php4...
__________________________ Développeur/Webmaster/Administrateur Réseau
---
La différence entre un homme politique et un expert en sécurité tient en ce fait que corrompu, le second est au chômage.
Mes excuses, je te prie, ma lecture tout à l'heure a été un peu rapide.
Ce code me semble finalement correct, à des détails près...
A la ligne 140, tu emploies l'opérateur objet "->" sur la méthode get_elements_by_tagname. Or, cette méthode retourne un tableau d'objets DomElement. Tu dois donc premièrement indiquer à php que tu souhaites accéder à une ligne du tableau via [].
Je ne peux par ailleurs que te conseiller de procéder en deux étapes,
l'implémentation objet sous php4 étant assez bancale.
A essayer
( et encore toutes mes excuses pour la conclusion hative plus haut )
__________________________ Développeur/Webmaster/Administrateur Réseau
---
La différence entre un homme politique et un expert en sécurité tient en ce fait que corrompu, le second est au chômage.
Je ne supprime pas, mais je bloque le sujet, histoire que la section php ne finisse pas en dépotoire pour spammeurs désespérés -__-
__________________________ Développeur/Webmaster/Administrateur Réseau
---
La différence entre un homme politique et un expert en sécurité tient en ce fait que corrompu, le second est au chômage.