Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1420 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  modification xml par dom

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

modification xml par dom

n°1570725
lex29
Posté le 06-06-2007 à 10:02:36  profilanswer
 

Bonjour,
 
j'aimerais pouvoir modifier un fichier xml avec dom, mais impossible, j'ai eu beau suivre des tutorials sur internet, il me retourne toujours une erreur et je n'arrive pas à comprendre.
 
voici mon xml :
 
<?xml version='1.0' encoding='iso-8859-1' ?>
<images>
 <image>image1</image>
 <image>image2</image>
</images>
 
 
et voici mon fichier php :
 
<?php
$dom = new DOMDocument;
$dom->load('images.xml');
$newImage = $dom->createElement("image" );
$imageName = $dom->createTextNode("image3" );
$newImage->appendChild($imageName);
$images = $dom->getElementsByTagName("images" );
$images->appendChild($newImage);
$dom->save('images.xml');
?>
 
Avec easyPHP 2, il me retourne :
Fatal error: Call to undefined method DOMNodeList::appendChild() in C:\Documents and Settings\Utilisateur\Mes documents\TestsPHP\modify_xml.php on line 8
 
Sur une page perso Free :
Warning: domdocument() expects at least 1 parameter, 0 given in /mnt/108/sdb/a/a/overlex/modify_xml.php on line 2
Fatal error: Call to undefined function: load() in /mnt/108/sdb/a/a/overlex/modify_xml.php on line 3
 
 
Merci de bien vouloir m'aider car là je ne sais vraiment plus comment faire.
 

mood
Publicité
Posté le 06-06-2007 à 10:02:36  profilanswer
 

n°1570762
anapajari
s/travail/glanding on hfr/gs;
Posté le 06-06-2007 à 10:59:37  profilanswer
 

getElementsByTagName te retourne une collection de noeud ( un tableau). Il faut donc prendre un des elements pour pouvoir faire l'appendChild dessus ( vraisemblablement firstChild).
 
Pour ton probleme sur free, il me semble que par défaut les .php utilisent PHP4 chez free. Et il s'avère que l'extension DOM n'est pas activé sur php4 chez eux( uniquement domxml). Il faut que tu renommes sur fichier en .php5

n°1570834
lex29
Posté le 06-06-2007 à 12:05:26  profilanswer
 

Merci bien, j'ai réussi à résoudre mes problèmes.
 
Pour Free, il suffit de renommer le fichier en .php5 et nickel.
 
Pour le fichier php, j'ai changé comme ceci :
$images = $dom->getElementsByTagName("images" )->item(0);
 
il suffisait juste de rajouter le item() après. Par contre en ajoutant firstChild, ca ne génère pas d'erreur mais ca ne modifie pas le fichier xml.
 
merci encore pour ton aide  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  modification xml par dom

 

Sujets relatifs
[RESOLU] PHP ModificationModification de donnée par PHP
Replace sans modification de la chainemodification de base de données ISAM
modification d'un type de champ a partir d'une application..?[ASP .NET] Modification Champs + GridView
[resolu] Mise à jour si modification d'une feuille[VBS] Modification permissions et groupe sécurité
[Résolu] Pb modification structure table pr rajouter auto-incrementdemande d'aide pour créer une interface pour modification sur un site
Plus de sujets relatifs à : modification xml par dom


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR